java array class tutorial java
Ten samouczek obejmuje klasę Array w Javie i metody klasy java.util.arrays wraz ze szczegółowym opisem i przykładami metod klasy Array:
Klasa „Arrays” należy do pakietu „java.util”. Jest to część struktury kolekcji Java i zapewnia metody dynamicznego tworzenia, uzyskiwania dostępu i manipulowania tablicami Java.
Wszystkie metody udostępniane przez klasę Arrays mają charakter statyczny i są metodami klasy „Object”. Ponieważ metody są statyczne, można uzyskać do nich dostęp za pomocą samej nazwy klasy.
=> Sprawdź WSZYSTKIE samouczki Java tutaj.
Czego się nauczysz:
Java Array Class
Klasa Arrays została wprowadzona w Javie 1.2, a zawarte w niej metody są najczęściej używane do manipulacji tablicą, w tym wyszukiwania, sortowania itp. Klasa arrays udostępnia przeciążone metody dla prawie wszystkich typów danych.
Poniżej przedstawiono hierarchię klas dla klasy Arrays:
Klasa Arrays dziedziczy z klasy Object, a jej metody są metodami klasy Object.
Ogólna składnia dostępu do dowolnej metody klasy Arrays jest następująca:
Arrays.;
W następnej sekcji wymienimy różne metody udostępniane przez klasę Arrays.
Metody tablic Java
Poniższe tabele zawierają wprowadzenie do różnych metod udostępnianych przez klasę Arrays. Tutaj wymieniliśmy główne metody. Należy zauważyć, że większość metod jest przeciążona, aby zapewnić obsługę wszystkich typów pierwotnych.
Podamy prototyp i opis każdej funkcji. Następnie w następnej sekcji opiszemy niektóre z ważnych metod, podając przykłady programowania.
Nazwa metody | Prototyp | Opis |
---|---|---|
static int binarySearch (double [] a, int fromIndex, int toIndex, double key) | Przeszukuje klucz w określonym zakresie w podwójnej tablicy | |
asList | Lista statyczna< T> asList (Object [] a) | Zwraca listę (o stałym rozmiarze) z określonej tablicy |
binarySearch Ta metoda wykorzystuje algorytm wyszukiwania binarnego. W następnej kolumnie przedstawiono różne przeciążenia metody binarySearch. | static int binarySearch (bajt [] a, klucz bajtowy) | Wyszukuje klucz w tablicy bajtów |
static int binarySearch (byte [] a, int fromIndex, int toIndex, bajt klucz) | Przeszukuje klucz w określonym zakresie w tablicy bajtów | |
static int binarySearch (char [] a, klucz char) | Przeszukuje klucz w tablicy znaków | |
static int binarySearch (char [] a, int fromIndex, int toIndex, char key) | Przeszukuje klucz w określonym zakresie w tablicy znaków | |
static int binarySearch (double [] a, double key) | Przeszukuje klucz w podwójnej tablicy | |
static int binarySearch (float [] a, klucz zmiennoprzecinkowy) | Przeszukuje klucz w tablicy liczb zmiennoprzecinkowych | |
static int binarySearch (float [] a, int fromIndex, int toIndex, float key) | Przeszukuje klucz w określonym zakresie w tablicy zmiennoprzecinkowej | |
static int binarySearch (int [] a, int klucz) | Przeszukuje klucz w tablicy int | |
static int binarySearch (int [] a, int fromIndex, int toIndex, int key) | Przeszukuje klucz w określonym zakresie w tablicy int | |
static int binarySearch (long [] a, long key) | Przeszukuje klucz w długiej tablicy | |
static int binarySearch (long [] a, int fromIndex, int toIndex, long key) | Przeszukuje klucz w określonym zakresie w długiej tablicy | |
static int binarySearch (Object [] a, Object key) | Przeszukuje klucz w tablicy obiektów | |
static int binarySearch (Object [] a, int fromIndex, int toIndex, Object key) | Przeszukuje klucz w określonym zakresie w tablicy obiektów | |
static int binarySearch (short [] a, short key) | Przeszukuje klucz w tablicy spodenek | |
static int binarySearch (short [] a, int fromIndex, int toIndex, short key) | Przeszukuje klucz w określonym zakresie w tablicy szortów | |
static int binarySearch (T [] a, klawisz T, komparator c) | Przeszukuje klucz w tablicy określonych obiektów | |
static int binarySearch (T [] a, int fromIndex, int toIndex, T key, Comparator c) | Przeszukuje klucz w określonym zakresie w tablicy obiektów |
Nazwa metody | Prototyp | Opis |
---|---|---|
static long [] copyOf (long [] original, int newLength) | Kopiuje określoną tablicę. W razie potrzeby obcina lub dołącza zera | |
kopia Metoda służy do kopiowania tablicy o określonej długości. Następna kolumna zawiera listę przeciążeń tej metody | statyczna wartość logiczna [] copyOf (wartość logiczna [] oryginał, int newLength) | Kopiuje określoną tablicę. W razie potrzeby obcina lub dołącza wartości „false” |
statyczny bajt [] copyOf (bajt [] oryginał, int newLength) | Kopiuje określoną tablicę. W razie potrzeby obcina lub dołącza zera | |
static char [] copyOf (char [] original, int newLength) | Kopiuje określoną tablicę. W razie potrzeby obcina lub dołącza wartość null | |
statyczne podwójne [] copyOf (podwójne [] oryginał, int newLength) | Kopiuje określoną tablicę. W razie potrzeby obcina lub dołącza zera | |
statyczny float [] copyOf (float [] original, int newLength) | Kopiuje określoną tablicę. W razie potrzeby obcina lub dołącza zera | |
static int [] copyOf (int [] original, int newLength) | Kopiuje określoną tablicę. W razie potrzeby obcina lub dołącza zera | |
statyczny krótki [] copyOf (krótki [] oryginał, int newLength) | Kopiuje określoną tablicę. W razie potrzeby obcina lub dołącza zera | |
statyczny T [] copyOf (T [] oryginał, int newLength) | Kopiuje określoną tablicę. W razie potrzeby obcina lub dołącza wartości null | |
static T [] copyOf (U [] original, int newLength, ClassnewType) | Kopiuje określoną tablicę. W razie potrzeby obcina lub dołącza wartości null | |
copyOfRange Ta metoda służy do kopiowania określonego zakresu w tablicy. Przeciążenia dla tej metody podano w następnej kolumnie | statyczny boolean [] copyOfRange (boolean [] oryginał, int z, int do) | Kopiuje tablicę z określonym zakresem do nowej tablicy |
statyczny bajt [] copyOfRange (bajt [] oryginał, int od, int do) | Kopiuje tablicę z określonym zakresem do nowej tablicy | |
static char [] copyOfRange (char [] oryginał, int od, int do) | Kopiuje tablicę z określonym zakresem do nowej tablicy | |
statyczny double [] copyOfRange (double [] oryginał, int od, int do) | Kopiuje tablicę z określonym zakresem do nowej tablicy | |
statyczny float [] copyOfRange (float [] oryginał, int od, int do) | Kopiuje tablicę z określonym zakresem do nowej tablicy | |
static int [] copyOfRange (int [] oryginał, int od, int do) | Kopiuje tablicę z określonym zakresem do nowej tablicy | |
static long [] copyOfRange (long [] original, int from, int to) | Kopiuje tablicę z określonym zakresem do nowej tablicy | |
statyczny krótki [] copyOfRange (krótki [] oryginał, int od, int do) | Kopiuje tablicę z określonym zakresem do nowej tablicy | |
statyczny T [] copyOfRange (T [] oryginał, int od, int do) | Kopiuje tablicę z określonym zakresem do nowej tablicy | |
statyczny T [] copyOfRange (U [] oryginał, int od, int do, ClassnewType) | Kopiuje tablicę z określonym zakresem do nowej tablicy |
Nazwa metody | Prototyp | Opis |
---|---|---|
statyczna wartość logiczna równa się (double [] a, double [] a2) | Zwraca wartość true, jeśli dwie określone podwójne tablice są równe. | |
deepEquals | static boolean deepEquals (Object [] a1, Object [] a2) | Sprawdza, czy dwie określone tablice są głęboko równe |
deepHashCode | static intdeepHashCode (Object [] a) | Zwraca kod skrótu określonej tablicy |
deepToString | statyczny StringdeepToString (Object [] a) | Zwraca „głęboką zawartość” określonej tablicy w ciągu |
Równa się Sprawdza, czy dwie określone tablice są równe | statyczna wartość logiczna równa się (boolean [] a, boolean [] a2) | Zwraca wartość true, jeśli dwie określone tablice logiczne są równe. |
statyczna wartość logiczna równa się (bajt [] a, bajt [] a2) | Zwraca wartość true, jeśli dwie określone tablice bajtów są równe | |
statyczna wartość logiczna równa się (char [] a, char [] a2) | Zwraca wartość true, jeśli dwie określone tablice znaków są równe. | |
statyczna wartość logiczna równa się (float [] a, float [] a2) | Zwraca wartość true, jeśli dwie określone tablice zmiennoprzecinkowe są równe. | |
statyczne boolowskie równa się (int [] a, int [] a2) | Zwraca wartość true, jeśli dwie określone tablice int są równe. | |
statyczna wartość logiczna równa się (long [] a, long [] a2) | Zwraca wartość true, jeśli dwie określone długie tablice są równe. | |
statyczna wartość logiczna równa się (Object [] a, Object [] a2) | Zwraca wartość true, jeśli dwie określone tablice Object są równe. | |
statyczna wartość logiczna równa się (krótki [] a, krótki [] a2) | Zwraca wartość true, jeśli dwie określone krótkie tablice są równe. |
Nazwa metody | Prototyp | Opis |
---|---|---|
statyczne wypełnienie pustki (double [] a, double val) | Wypełnia podwójną tablicę określoną podwójną wartością | |
napełnić Wypełnia tablicę (wszystkie elementy) określoną wartością. Następna kolumna zawiera przeciążenia dla tej funkcji | statyczne wypełnienie pustki (boolean [] a, boolean val) | Wypełnia tablicę boolowską określoną wartością logiczną |
statyczne wypełnienie pustki (boolean [] a, int fromIndex, int toIndex, boolean val) | Przypisuje wartość logiczną do określonego zakresu w tablicy boolowskiej. | |
statyczne wypełnienie pustki (bajt [] a, wartość bajtu) | Wypełnia tablicę bajtów określoną wartością bajtów | |
statyczne wypełnienie pustki (bajt [] a, int fromIndex, int toIndex, wartość bajtu) | Wypełnia tablicę bajtów określoną wartością bajtów z podanego zakresu | |
statyczne wypełnienie pustki (char [] a, char val) | Wypełnia tablicę char określoną wartością char | |
statyczne wypełnienie pustki (char [] a, int fromIndex, int toIndex, char val) | Wypełnia zakres tablicy char określoną wartością char | |
statyczne wypełnienie pustki (double [] a, int fromIndex, int toIndex, double val) | Przypisuje podwójną wartość do określonego zakresu w podwójnej tablicy. | |
statyczne wypełnienie pustki (float [] a, float val) | Przypisuje wartość zmiennoprzecinkową do określonego zakresu w tablicy zmiennoprzecinkowej. | |
statyczne wypełnienie pustki (float [] a, int fromIndex, int toIndex, float val) | Przypisuje wartość zmiennoprzecinkową do określonego zakresu w tablicy zmiennoprzecinkowej. | |
statyczne wypełnienie pustki (int [] a, int val) | Przypisuje wartość int do tablicy int. | |
statyczne wypełnienie pustki (int [] a, int fromIndex, int toIndex, int val) | Przypisuje wartość int do określonego zakresu w tablicy int. | |
statyczne wypełnienie pustki (long [] a, int fromIndex, int toIndex, long val) | Przypisuje długą wartość do określonego zakresu w długiej tablicy. | |
statyczne wypełnienie pustki (long [] a, long val) | Przypisuje długą wartość do długiej tablicy. | |
statyczne wypełnienie pustki (Object [] a, int fromIndex, int toIndex, Object val) | Przypisuje odwołanie do obiektu do określonego zakresu w tablicy Object. | |
statyczne wypełnienie pustki (Object [] a, Object val) | Przypisuje odwołanie do obiektu do określonej tablicy obiektów | |
statyczne wypełnienie pustki (short [] a, int fromIndex, int toIndex, short val) | Przypisuje krótką wartość do określonego zakresu w krótkiej tablicy. | |
statyczne wypełnienie pustki (krótkie [] a, krótkie val) | Przypisuje krótką wartość do określonej krótkiej tablicy. |
Nazwa metody | Prototyp | Opis |
---|---|---|
static void sort (float [] a) | Sortuje tablicę zmiennoprzecinkową w rosnącej kolejności numerycznej. | |
Sortować Sortuje tablicę przekazaną jako parametr do metody. Przeciążenia podano w następnej kolumnie. | static void sort (bajt [] a) | Sortuje tablicę bajtów numerycznie |
static void sort (byte [] a, int fromIndex, int toIndex) | Sortuje zakres elementów z tablicy | |
static void sort (char [] a) | Sortuje tablicę znaków w rosnącej kolejności numerycznej. | |
static void sort (char [] a, int fromIndex, int toIndex) | Sortuje zakres elementów w tablicy w kolejności rosnącej. | |
static void sort (double [] a) | Sortuje podwójną tablicę w rosnącej kolejności numerycznej. | |
static void sort (double [] a, int fromIndex, int toIndex) | Sortuje zakres elementów z tablicy w kolejności rosnącej. | |
static void sort (float [] a, int fromIndex, int toIndex) | Sortuje zakres elementów z tablicy w kolejności rosnącej. | |
static void sort (int [] a) | Sortuje tablicę int w rosnącej kolejności numerycznej. | |
static void sort (int [] a, int fromIndex, int toIndex) | Sortuje zakres elementów z tablicy w kolejności rosnącej. | |
statyczne sortowanie puste (długie [] a) | Sortuje długą tablicę w rosnącej kolejności numerycznej. | |
static void sort (long [] a, int fromIndex, int toIndex) | Sortuje zakres elementów z tablicy w kolejności rosnącej | |
statyczne sortowanie pustych przestrzeni (Object [] a) | Sortuje tablicę obiektów w porządku rosnącym. Sortowanie odbywa się według naturalnego uporządkowania jego elementów | |
static void sort (Object [] a, int fromIndex, int toIndex) | Sortuje określony zakres z tablicy obiektów w porządku rosnącym. Sortowanie odbywa się według naturalnego uporządkowania jego elementów. | |
static void sort (short [] a) | Sortuje tablicę typu short w rosnącej kolejności numerycznej. | |
static void sort (short [] a, int fromIndex, int toIndex) | Sortuje zakres elementów z tablicy w kolejności rosnącej. | |
statyczne sortowanie próżniowe (T [] a, komparator c) | Sortuje określoną tablicę obiektów. Kolejność sortowania jest określana zgodnie z określonym komparatorem. | |
static void sort (T [] a, int fromIndex, int toIndex, Comparator c) | Sortuje zakres elementów z tablicy obiektów w kolejności określonej przez komparator. |
Nazwa metody | Prototyp | Opis |
---|---|---|
static String toString (long [] a) | Zwraca ciąg znaków reprezentujący długą tablicę | |
toString Ta metoda zwraca reprezentację ciągu z danej tablicy. W następnej kolumnie podano różne przeciążenia tej metody | static String toString (boolean [] a) | Zwraca ciąg znaków reprezentujący tablicę logiczną |
static String toString (bajt [] a) | Zwraca ciąg znaków reprezentujący tablicę bajtów | |
statyczny ciąg toString (char [] a) | Zwraca ciąg znaków reprezentujący tablicę znaków | |
static String toString (double [] a) | Zwraca ciąg znaków reprezentujący podwójną tablicę | |
static String toString (float [] a) | Zwraca ciąg znaków reprezentujący tablicę zmiennoprzecinkową | |
static String toString (int [] a) | Zwraca ciąg znaków reprezentujący tablicę int | |
static String toString (Object [] a) | Zwraca ciąg znaków reprezentujący tablicę obiektów | |
static String toString (short [] a) | Zwraca ciąg znaków reprezentujący krótką tablicę |
Nazwa metody | Prototyp | Opis |
---|---|---|
static int hashCode (long [] a) | Zwraca kod skrótu zawartości długiej tablicy | |
hashCode Ta metoda zwraca hashCode zawartości określonej tablicy Przeciążone metody podano w następnej kolumnie. | static int hashCode (boolean [] a) | Zwraca kod skrótu zawartości tablicy boolowskiej |
static int hashCode (bajt [] a) | Zwraca kod skrótu zawartości tablicy bajtów | |
static int hashCode (char [] a) | Zwraca kod skrótu zawartości tablicy znaków | |
static int hashCode (double [] a) | Zwraca kod skrótu zawartości tablicy podwójnej | |
static int hashCode (float [] a) | Zwraca kod skrótu zawartości tablicy zmiennoprzecinkowej | |
static int hashCode (int [] a) | Zwraca kod skrótu zawartości tablicy int. | |
static int hashCode (Object [] a) | Zwraca kod skrótu zawartości tablicy obiektów | |
static int hashCode (short [] a) | Zwraca kod skrótu zawartości krótkiej tablicy |
Powyższe tabele przedstawiają wszystkie metody dostępne w klasie Arrays. Większość z nich jest przeciążona dla różnych typów pierwotnych.
Omówmy szczegółowo niektóre z tych metod.
# 1) asList
Prototyp: statyczna lista asList (Object [] a)
Parametry: a - tablica obiektów, z których zostanie utworzona lista.
Wartość zwracana: List => lista o stałym rozmiarze określonej tablicy
Opis: Zwraca listę możliwą do serializacji o stałym rozmiarze, wspieraną przez tablicę podaną jako argument.
Przykład:
import java.util.Arrays; import java.util.List; public class Main { public static void main(String[] args) { String[] months = {'January', 'February', 'March', 'April', 'May'}; // converted string array to a List using asList System.out.println('The string array converted to list:'); List month_list = Arrays.asList(months); System.out.println(month_list); } }
Wynik:
Powyższy program demonstruje użycie metody „asList” klasy Arrays. Tutaj zadeklarowaliśmy tablicę ciągów i przekazaliśmy ją do metody asList w celu uzyskania listy.
# 2) binarySearch
Prototyp: static int binarySearch (int [] a, int key)
Parametry:
a => tablica, w której ma być wyszukiwany klucz
Klucz => wartość elementu do wyszukania
Wartość zwracana: int => pozycja (indeks), w której znajduje się klucz, w przeciwnym razie zwraca (- („punkt wstawienia”) - 1).
Opis: Wyszukuje określony klucz w danej tablicy przy użyciu algorytmu wyszukiwania binarnego. Tablica musi zostać posortowana, aby wyszukiwanie binarne działało. Jeśli tablica nie jest posortowana, wyniki są niezdefiniowane. Ponadto jeśli w tablicy znajduje się wiele lokalizacji dla tej samej wartości klucza, zwrócona pozycja nie jest gwarantowana.
Przykład:
import java.util.Arrays; import java.util.List; public class Main { public static void main(String[] args) { // define the Array int numArr[] = { 23,43,26,65,35,16,74,27,98 }; //sort the array first Arrays.sort(numArr); System.out.println('Input array:' + Arrays.toString(numArr)); int key = 35; //call binarySearch function to search a given key System.out.println('Key ' + key + ' found at index = ' + Arrays .binarySearch(numArr, key)); } }
Wynik:
W powyższym programie najpierw sortujemy tablicę wejściową, ponieważ dla binarySearch tablica powinna być posortowana. Następnie tablica i klucz do przeszukania są przekazywane do metody „binarySearch”. Indeks, pod którym znaleziono klucz, jest wyświetlany w danych wyjściowych.
Prototyp: static int binarySearch (int [] a, int fromIndex, int toIndex, int key)
Parametry:
a => tablica do przeszukania
fromIndex => początkowy indeks zakresu, w którym ma być przeszukiwany klucz
toIndex => indeks ostatniego elementu w zakresie
key => klucz do wyszukania
Wartość zwracana: indeks elementu kluczowego znajduje się w określonym zakresie. W przeciwnym razie zwraca (- („punkt wstawienia”) - 1).
Opis: To przeciążenie binarySearch wyszukuje wartość klucza w określonym zakresie tablicy i zwraca pozycję indeksu elementu klucza, jeśli zostanie znaleziony. Tablica, a tym samym zakres, muszą zostać posortowane, aby funkcja binarySearch działała. Jeśli nie jest posortowane, wyniki są niezdefiniowane.
Przykład:
import java.util.Arrays; import java.util.List; public class Main { public static void main(String[] args) { int numArr[] = { 23,43,26,65,35,16,74,27,98 }; // define the Array Arrays.sort(numArr); //sort the array first System.out.println('Input array:' + Arrays.toString(numArr)); int key = 35; //call binarySearch function to search a given key System.out.println('Key ' + key + ' found at index = ' + Arrays .binarySearch(numArr,3,7, key)); } }
Wynik:
Powyższy program jest taki sam jak poprzedni, z tą różnicą, że w wywołaniu metody binarySearch określiliśmy zakres tablicy, w której ma być przeprowadzone wyszukiwanie.
# 3) copyOf
Prototyp: static int [] copyOf (int [] original, int newLength)
Parametry:
oryginalna => tablica do skopiowania
newLength => długość skopiowanej tablicy
Wartość zwracana: Nowa tablica skopiowana z oryginału i uzupełniona lub obcięta zerami w zależności od określonej długości.
Opis: Kopiuje oryginał tablicy do nowej tablicy i wypełnia lub obcina ją zerami w zależności od określonej długości.
Przykład:
import java.util.Arrays; public class Main { public static void main(String[] args) { // define the Array String strArr[] = {'Java', 'Python', 'Perl', 'C', 'Ruby'}; // print the original array System.out.println('Original String Array: ' + Arrays.toString(strArr)); //copy the array into new array using copyOf and print it System.out.println('Copied Array: ' + Arrays.toString( Arrays.copyOf(strArr, 5))); } }
Wynik:
Powyższy program demonstruje użycie metody „copyOf” klasy Arrays, która kopiuje podaną tablicę do nowej. Powyższy program kopiuje oryginalną tablicę ciągów do nowej tablicy.
# 4) copyOfRange
Prototyp: static int [] copyOfRange (int [] oryginał, int od, int do)
Parametry:
jak odtwarzać pliki swf w systemie Windows
original => tablica, z której mają zostać skopiowane wartości z zakresu
Od => pierwszy indeks zakresu
To => ostatni indeks zakresu
Wartość zwracana: Nowa tablica z wartościami z określonego zakresu z zerami obciętymi lub uzupełnionymi w celu uzyskania żądanej długości.
Opis: Kopiuje określony zakres z danej tablicy do nowej tablicy. Rozpoczęty indeks tablicy powinien zawierać się między 0 a oryginalną długością. Indeks końcowy może być wyłączny.
Przykład:
import java.util.Arrays; public class Main { public static void main(String[] args) { // define the Array String strArr[] = {'Java', 'Python', 'Perl', 'C', 'Ruby'}; // print the original array System.out.println('Original String Array: ' + Arrays.toString(strArr)); //copy the array into new array using copyOfRange and print it System.out.println('Copied Range of Array: ' + Arrays.toString( Arrays.copyOfRange(strArr,1,3))); } }
Wynik:
Zmodyfikowaliśmy poprzedni program, aby używał metody „copyOfRange”, która kopiuje określony zakres z tablicy i tworzy nową tablicę. W powyższym programie określiliśmy zakres taki jak 1, 3. Stąd wynik pokazuje nową tablicę 2 elementów.
# 5) Równe
Prototyp: statyczne boolowskie równa się (int [] a, int [] a2)
Parametry:
do => pierwsza tablica do sprawdzenia pod kątem równości
A2 => druga tablica do sprawdzenia pod kątem równości
Wartość zwracana: Zwraca wartość true, jeśli obie tablice są równe.
Opis: Ta metoda sprawdza, czy obie tablice są równe i zwracają wyniki. O tych dwóch tablicach mówi się, że są równe, jeśli obie mają taką samą liczbę elementów, a odpowiadające im elementy w obu tablicach są równe.
Przykład:
import java.util.Arrays; public class Main { public static void main(String[] args) { // define two arrays, array_One and array_Two int[] array_One = { 1, 3, 5, 7 }; int[] array_Two = { 1, 3, 5, 7 }; //print the arrays System.out.println('array_One = ' + Arrays.toString(array_One)); System.out.println('array_Two = ' + Arrays.toString(array_Two)); //use equals method to check for equality of arrays booleanarray_equal = Arrays.equals(array_One, array_Two); //print the results if (array_equal) { System.out.println('equals method returns ' + array_equal + ', hence arrays array_One and array_Two are equal
'); }else { System.out.println('equals method returns ' + array_equal + ', hence arrays array_One and array_Two are not equal
'); } // define two more arrays, firstArray&secondArray int[] firstArray = { 2, 4, 6, 8 }; int[] secondArray = { 1, 3, 5, 7}; //display these arrays System.out.println('firstArray = ' + Arrays.toString(firstArray)); System.out.println('secondArray = ' + Arrays.toString(secondArray)); //use equals method to check equality of arrays boolean test_array = Arrays.equals(firstArray, secondArray); //print the results if (test_array) { System.out.println('equals method returns ' + test_array + ', hence arrays firstArray and secondArray are equal
'); }else { System.out.println('equals method returns ' + test_array + ', hence arrays firstArray and secondArray are not equal
'); } } }
Wynik:
Powyższy program demonstruje metodę „równa się”. Tutaj użyliśmy dwóch zestawów tablic i dwukrotnie nazwaliśmy „równa się”. W pierwszym wywołaniu equals obie tablice są takie same, dlatego metoda zwraca wartość true. W drugim wywołaniu equals dwie tablice są różne i metoda zwraca false.
# 6) Wypełnij
Prototyp: statyczne wypełnienie pustki (int [] a, int val)
Parametry:
a => tablica do wypełnienia
val => wartość do wypełnienia we wszystkich miejscach w tablicy
Wartość zwracana: Żaden
Opis: Wypełnia tablicę określoną wartością.
Przykład:
import java.util.Arrays; public class Main { public static void main(String[] args) { // define the array int[] intArray = { 1, 3, 5, 7 }; //print original array System.out.println('The original array: ' + Arrays.toString(intArray)); //call fill method to fill the array with all zeros Arrays.fill(intArray, 0); //print altered array System.out.println('Array after call to fill:' + Arrays.toString(intArray)); } }
Wynik:
Powyższy program przedstawia podstawową wersję metody wypełnienia. Tutaj po prostu wypełniamy całą tablicę inną wartością. W tym przypadku wypełniliśmy tablicę wszystkimi zerami.
Prototyp: statyczne wypełnienie pustki (int [] a, int fromIndex, int toIndex, int val)
Parametry:
a => tablica, której zakres ma zostać wypełniony
fromIndex => początek indeksu zakresu
toIndex => koniec indeksu zakresu
val => wartość, jaką mają zostać wypełnione elementy zakresu
Wartość zwracana: Żaden
Opis: Wypełnia określony zakres od fromIndex do toIndex w tablicy „a” określoną wartością. Jeśli fromIndex = toIndex, to zakres do wypełnienia jest pusty.
Przykład:
import java.util.Arrays; public class Main { public static void main(String[] args) { // define the array int[] intArray = { 1, 3, 5, 7, 9, 11, 13, 15,17}; //print original array System.out.println('The original array: ' + Arrays.toString(intArray)); //call fill method to fill the range (2,6) in the array with zeros Arrays.fill(intArray, 2, 6, 0); //print altered array System.out.println('Array after call to fill the range(2,6):' + Arrays.toString(intArray)); } }
Wynik:
To kolejna wersja metody fill, w której określamy konkretny zakres w tablicy, który ma zostać wypełniony inną wartością. W powyższym programie określiliśmy zakres [2, 6] do wypełnienia zerami. Pozostałe elementy pozostają takie same, jak pokazano na wyjściu.
# 7) Sortuj
Prototyp: static void sort (int [] a)
Parametry: a => tablica do posortowania
Wartość zwracana: Żaden
Opis: Ta metoda sortuje tablicę w kolejności rosnącej.
Przykład:
import java.util.Arrays; public class Main { public static void main(String[] args) { // define the array int[] intArray = {10,4,25,63,21,51,73,24,87,18}; //print original array System.out.println('The original array: ' + Arrays.toString(intArray)); //call sort method to sort the given array in ascending order Arrays.sort(intArray); //print altered array System.out.println('Sorted array:' + Arrays.toString(intArray)); } }
Wynik:
Powyższy program sortuje tablicę liczb całkowitych metodą sortowania klasy Arrays i wypisuje posortowaną tablicę.
Prototyp: static void sort (int [] a, int fromIndex, int toIndex)
Parametry:
a => tablica, z której ma być sortowany zakres
fromIndex => indeks początkowy zakresu
toIndex => koniec indeksu dla zakresu
Wartość zwracana: Żaden
Opis: Sortuje określony zakres od fromIndex do toIndex w kolejności rosnącej. Jeśli fromIndex = toIndex, to sortowany zakres jest pusty.
Przykład:
import java.util.Arrays; public class Main { public static void main(String[] args) { // define the array int[] intArray = {10,4,25,63,21,51,73,24,87,18}; //print original array System.out.println('The original array: ' + Arrays.toString(intArray)); //call sort method to sort the given range in the array in ascending order Arrays.sort(intArray, 2, 7); //print altered array System.out.println('Sorted range(2,7) in the array:' + Arrays.toString(intArray)); } }
Wynik:
Powyższy program demonstruje zmienność metody sortowania. W tym możemy określić zakres, w którym tablica ma być sortowana. Elementy spoza tego zakresu nie są sortowane. W powyższym programie zakres [2,7] w podanej tablicy jest określony do posortowania metodą sortowania.
Stąd na wyjściu widzimy, że tylko elementy w tym zakresie są sortowane w kolejności rosnącej.
# 8) toString
Prototyp: static String toString (int [] a)
Parametry: a => tablica, której reprezentacja łańcuchowa jest wymagana
Wartość zwracana: string => reprezentacja ciągu tablicy
Opis: Konwertuje podaną tablicę na jej reprezentację w postaci ciągu.
Przykład:
import java.util.*; public class Main { public static void main(String[] args) { //declare arrays of type int and double int[] intArray = {10,20,30,40,50}; double[] dblArray = {1.0,2.0,3.0,4.0,5.0}; System.out.println('String representation of int Array: '); //print string representation of int array using toString System.out.println(Arrays.toString(intArray)); System.out.println('
String representation of double Array: '); //print string representation of double array using toString System.out.println(Arrays.toString(dblArray)); } }
Wynik:
W powyższym przykładzie użyliśmy metody toString, która konwertuje tablice na reprezentację łańcuchową. Aby zademonstrować tę metodę, użyliśmy dwóch tablic, z których każda jest typu int i double. Następnie za pomocą metody toString każda z tej tablicy jest konwertowana na odpowiadającą jej reprezentację w postaci ciągu pokazaną w danych wyjściowych.
# 9) hashCode
Prototyp: static int hashCode (int [] a)
Parametry: a => tablica, której hashcode ma zostać obliczony.
Wartość zwracana: int => obliczony hashcode
Opis: Metoda zwraca hashcode z podanej tablicy. Plik hashcode z a Jawa Obiekt jest w rzeczywistości liczbą 32-bitową (int ze znakiem). Używając hashcode, możesz zarządzać obiektem za pomocą struktury opartej na hash.
Hashcode jest przydzielany przez maszynę JVM do obiektu i zwykle jest unikatowy, chyba że te dwa obiekty są sobie równe. W takim przypadku oba obiekty będą miały ten sam kod.
Przykład:
import java.util.*; public class Main { public static void main(String[] args) { //declare arrays of type int int[] intArray = {10,20,30,40,50}; //print the input array System.out.println('The input Array: ' + Arrays.toString(intArray)); //get hashcode of the array using 'hashCode' method of array inthashCde = Arrays.hashCode(intArray); //print the hashCode System.out.println('The hashCode for input array:' + hashCde); } }
Wynik:
Metoda hashCode oblicza hashcode dla danej tablicy przekazanej jako argument.
Często Zadawane Pytania
Pytanie 1) Co to są tablice java.util?
Odpowiedź: Klasa java.util.Arrays jest pochodną klasy java.lang.Object. Klasa Arrays zawiera metodę reprezentowania tablic jako listy. Zawiera również różne metody manipulowania tablicami, takie jak sortowanie, wyszukiwanie, reprezentowanie tablic jako łańcuchów itp.
P # 2) Jakie sortowanie jest używane w sortowaniu tablic w Javie?
Odpowiedź: Metoda sortowania klasy Arrays w Javie wykorzystuje dwie techniki sortowania. Używa quicksort, gdy używane są typy pierwotne, podczas gdy gdy używane są obiekty, które implementują porównywalny interfejs, używane jest sortowanie przez scalanie.
P # 3) Co robi metoda Arrays.sort () w Javie?
Odpowiedź: Metoda Arrays.sort () w Javie ma różne przeciążenia, za pomocą których można sortować tablice. Ma przeciążenia do sortowania tablic różnych typów danych pierwotnych.
Ponadto metoda Arrays.sort () ma różne przeciążenia służące do sortowania tablicy w określonym zakresie. Oprócz tego metoda Arrays.sort () pozwala nam również sortować w zależności od dostarczonego komparatora.
P # 4) Co to są klasy kolekcji i tablic?
Odpowiedź: Kolekcje mają charakter dynamiczny, a klasa Kolekcje udostępnia metody bezpośrednie, które działają na kolekcjach. Tablice mają charakter statyczny i mają klasę Arrays, która udostępnia metody do manipulowania tablicami.
Ale to nie są metody bezpośrednie, tj. Obiekty Array nie mogą wywoływać tych metod. Zamiast tego obiekt tablicy jest przekazywany jako argument do tych metod.
Wniosek
Klasa Arrays należy do pakietu java.util i dziedziczy z klasy java.lang.Object. Klasa Arrays zawiera metody używane do manipulowania tablicami. Metody te obejmują metody używane do sortowania tablic, wyszukiwania określonego elementu w tablicach, wypełniania tablicy określoną wartością, metod porównywania tablic itp.
Każda z tych metod ma różne przeciążenia, które pozwalają programiście wywoływać te metody na tablicach różnych typów danych, a także na części lub całych tablicach.
W tym samouczku omówiliśmy większość metod klasy tablic. Widzieliśmy również krótki opis i przykłady głównych metod. Te przykłady mogą być replikowane dla różnych typów danych i pozostawiamy to Tobie.
=> Odwiedź tutaj, aby nauczyć się języka Java od podstaw.
rekomendowane lektury
- Samouczek dotyczący długości tablicy w języku Java z przykładami kodu
- Postrzępiona tablica w Javie - samouczek z przykładami
- Samouczek JAVA dla początkujących: ponad 100 praktycznych samouczków wideo Java
- Co to jest wektor Java | Samouczek klasy wektorowej Java z przykładami
- Jak posortować tablicę w Javie - samouczek z przykładami
- Odwróć tablicę w Javie - 3 metody z przykładami
- Tablica ogólna Java - jak symulować tablice ogólne w Javie?
- Java Copy Array: Jak skopiować / sklonować tablicę w Javie