Menu
Coddy logo textTech

Metody tablic

Część sekcji Podstawy ścieżki Java w Coddy. Lekcja 61 z 73.

Tablice mają wiele metod (funkcjonalności). Aby wywołać metodę, napisz:

Arrays.methodName(arrayName, otherParameters)

Oto lista podstawowych metod:

  • fill(array, value) — wypełnia tablicę określoną wartością
  • toString() – konwertuje tablicę na ciąg znaków
  • sort(array) – sortuje tablicę rosnąco
  • equals(array1, array2) - porównuje dwie tablice, aby ustalić, czy są równe

Oto przykład użycia metody fill z toString:

int[] numbers = new int[5];
Arrays.fill(numbers, 10);
System.out.println(Arrays.toString(numbers));

To wyświetli [10, 10, 10, 10, 10].

Przykład metody sort:

int[] numbers = {5, 2, 9, 1, 5, 6};
Arrays.sort(numbers);
System.out.println(Arrays.toString(numbers));

To wyświetli [1, 2, 5, 5, 6, 9].

challenge icon

Wyzwanie

Łatwy

Utwórz metodę o nazwie merge, która przyjmuje jako argumenty dwie tablice. Metoda łączy te dwie tablice w jedną posortowaną tablicę i ją zwraca.

Ważne: Wynikowa połączona tablica musi być posortowana rosnąco.

Na przykład następujące argumenty: merge(new String[] {"1", "4", "2"}, new String[] {"2", "5", "9"}) zwrócą ["1", "2", "2", "4", "5", "9"] (zauważ, że wynik jest posortowany)

Użyj System.arraycopy(), aby skopiować elementy z jednej tablicy do drugiej. Składnia wygląda tak: 

System.arraycopy(sourceArray, sourceStartPosition, destinationArray, destinationStartPosition, length)

System.arraycopy() kopiuje elementy tylko do tablicy, która już istnieje; nigdy nie zwiększa rozmiaru tablicy docelowej. Najpierw utwórz połączoną tablicę z arr1.length + arr2.length miejscami, skopiuj arr1 na pozycję 0, a następnie skopiuj arr2, zaczynając od pozycji arr1.length.

Na przykład:

// Source array
String[] sourceArray = {"1", "2", "3", "4", "5"};
        
// Destination array
String[] destinationArray = new String[5];
        
// Copy elements from sourceArray to destinationArray
System.arraycopy(sourceArray, 0, destinationArray, 0, 5);

Tablica docelowa po skopiowaniu: 1 2 3 4 5

Spróbuj swoich sił

import java.util.Arrays;
import java.util.Scanner;


public class Main {
    public static String[] merge(String[] arr1, String[] arr2) {
        // Napisz kod tutaj
        return null;
    }

    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        String textArr1 = scanner.nextLine();
        String textArr2 = scanner.nextLine();
        String[] arr1 = textArr1.split(",");
        String[] arr2 = textArr2.split(",");

        String[] mergedArray = merge(arr1, arr2);
        System.out.println(Arrays.toString(mergedArray));
    }
}
quiz iconSprawdź się

Ta lekcja zawiera krótki quiz. Zacznij lekcję, żeby na niego odpowiedzieć i śledzić swoje postępy.

Wszystkie lekcje w sekcji Podstawy

Poćwicz samodzielnie: Kompilator Java online