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].
Wyzwanie
ŁatwyUtwó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));
}
}Ta lekcja zawiera krótki quiz. Zacznij lekcję, żeby na niego odpowiedzieć i śledzić swoje postępy.
Wszystkie lekcje w sekcji Podstawy
4Operatory część 1
Operatory arytmetyczneOperator moduloInkrementacja/dekrementacjaPostinkrementacja/postdekrementacjaSkrócone operatory arytmetyczneOperatory porównaniaPorównywanie ciągów znaków7Podstawowe wejście i wyjście
Metody System.outFormatowanie wyjściaKlasa ScannerPowtórka – do 120Powtórka – prawda czy fałsz10Metody (funkcje)
Deklarowanie metodParametry metodTypy zwracanePrzeciążanie metodPowtórzenie – funkcja SigmaPowtórzenie – funkcja walidującaMetody void13Operacje na ciągach znaków
Metody ciągów znaków — część 1Metody ciągów znaków — część 2Formatowanie ciągów znakówPorównywanie ciągów znaków5Operatory — część 2
Operatory logiczne — część 1Operatory logiczne — część 2Powtórka — podstawy logikiOperatory logiczne — część 3Operatory logiczne — część 411Podstawy tablic
Deklarowanie tablicDostęp do elementówModyfikowanie tablicMetody tablicPowtórka – tablica iloczynówPowtórka – odwrócona tablica3Zmienne — część 2
StałeKonwencje nazewnictwaPodsumowanie — inicjalizacja zmiennychKonwersja typów — część 1Konwersja typów — część 26Podejmowanie decyzji
Instrukcja ifIf - elseInstrukcja switchOperator trójargumentowyPowtórka: if - elseZagnieżdżone if - elsePoćwicz samodzielnie: Kompilator Java online