The Tablice klasa w pakiet java.util jest częścią Struktura kolekcji Java . Ta klasa udostępnia metody statyczne umożliwiające dynamiczne tworzenie i uzyskiwanie dostępu Tablice Java . Zawiera wyłącznie metody statyczne oraz metody klasy Object. Metody tej klasy mogą być używane przez samą nazwę klasy.
Hierarchia klas wygląda następująco:
java.lang.Object ? java.util.Arrays>
Geek, teraz musisz się zastanawiać, dlaczego potrzebujemy klasy Java Arrays, skoro możemy deklarować, inicjować i obliczać operacje na tablicach. Odpowiedź na to pytanie leży jednak w metodach tej klasy, które będziemy omawiać dalej, ponieważ w praktyce funkcje te pomagają programistom poszerzać horyzonty za pomocą tablic, na przykład często zdarza się, że pętle służą do wykonywania niektórych zadań na tablicy, takich jak:
- Wypełnij tablicę określoną wartością.
- Sortuj tablice.
- Szukaj w tablicach.
- I wiele więcej.
Tutaj klasa Arrays udostępnia kilka metod statycznych, których można użyć do bezpośredniego wykonania tych zadań bez użycia pętli, dzięki czemu nasz kod jest bardzo krótki i zoptymalizowany.
Składnia: Deklaracja klasy
public class Arrays extends Object>
Składnia: Aby móc korzystać z Arrays
Arrays.;>
Metody w klasie Java Array
Klasa Arrays pakietu java.util zawiera kilka metod statycznych, których można używać do wypełniania, sortowania, wyszukiwania itp. w tablicach. Omówmy teraz metody tej klasy, które przedstawiono poniżej w formie tabelarycznej w następujący sposób:
| Metody | Przedsięwzięcie wykonane |
|---|---|
| jakoLista() | Zwraca listę o stałym rozmiarze, wspieraną przez określone Arrays |
| wyszukiwanie binarne() | Wyszukuje określony element w tablicy za pomocą algorytmu wyszukiwania binarnego |
| binarySearch(tablica, fromIndex, toIndex, klucz, komparator) | Przeszukuje zakres określonej tablicy dla określonego obiektu przy użyciu algorytmu wyszukiwania binarnego |
| porównaj (tablica 1, tablica 2) | Porównuje dwie tablice przekazane jako parametry leksykograficznie. |
| copyOf(oryginalna tablica, nowa długość) | Kopiuje określoną tablicę, obcinając ją lub dopełniając wartością domyślną (jeśli to konieczne), aby kopia miała określoną długość. |
| copyOfRange(originalArray, fromIndex, endIndex) | Kopiuje określony zakres określonej tablicy do nowego Arrays. |
| deepEquals(Obiekt[] a1, Obiekt[] a2) | Zwraca wartość true, jeśli dwie określone tablice są sobie głęboko równe. |
| deepHashCode(Obiekt[] a) | Zwraca kod skrótu oparty na głębokiej zawartości określonych Arrays. |
| deepToString(Obiekt[] a) | Zwraca ciąg znaków reprezentujący głęboką zawartość określonych Arrays. |
| równa się (tablica1, tablica2) | Sprawdza, czy obie tablice są równe, czy nie. |
| fill(originalArray, fillValue) | Przypisuje tę wartość wypełnienia do każdego indeksu tej tablicy. |
| hashCode(oryginalna tablica) | Zwraca liczbę całkowitą hashCode tej instancji tablicy. |
| niedopasowanie (tablica1, tablica2) | Znajduje i zwraca indeks pierwszego niedopasowanego elementu między dwiema określonymi tablicami. |
| równoległyPrefix(originalArray, fromIndex, endIndex, operator funkcjonalny) | Wykonuje ParalePrefix dla danego zakresu tablicy z określonym operatorem funkcjonalnym. |
| równoległyPrefix(oryginalna tablica, operator) | Wykonuje ParalePrefix dla pełnej tablicy z określonym operatorem funkcjonalnym. |
| równoległySetAll(oryginalna tablica, generator funkcjonalny) | Ustawia wszystkie elementy tej tablicy równolegle, korzystając z dostarczonej funkcji generatora. |
| sortowanie równoległe(oryginalna tablica) | Sortuje określoną tablicę przy użyciu sortowania równoległego. |
| setAll(oryginalna tablica, generator funkcjonalny) | Ustawia wszystkie elementy określonej tablicy przy użyciu dostarczonej funkcji generatora. |
| sortuj(oryginalna tablica) | Sortuje całą tablicę w kolejności rosnącej. |
| sort(originalArray, fromIndex, endIndex) | Sortuje określony zakres tablicy w kolejności rosnącej. |
| sort(T[] a, int z indeksu, int do indeksu, komparator c) | Sortuje określony zakres określonej tablicy obiektów zgodnie z kolejnością indukowaną przez określony komparator. |
| sort(T[] a, Komparator c) | Sortuje określoną tablicę obiektów zgodnie z kolejnością indukowaną przez określony komparator. |
| rozdzielacz (oryginalna tablica) | Zwraca Spliterator obejmujący wszystkie określone tablice. |
| spliterator(originalArray, fromIndex, endIndex) | Zwraca Spliterator typu tablicy obejmującej określony zakres określonych tablic. |
| strumień (oryginalna tablica) | Zwraca strumień sekwencyjny, którego źródłem jest określona tablica. |
| toString(oryginalna tablica) | Zwraca ciąg znaków reprezentujący zawartość tej tablicy. Reprezentacja łańcuchowa składa się z listy elementów tablicy ujętych w nawiasy kwadratowe ([]). Sąsiednie elementy oddzielane są znakami przecinka i spacji. Elementy są konwertowane na ciągi znaków za pomocą funkcji String.valueOf(). |
Realizacja:
Przykład 1: jakoLista() metoda
Jawa
// Java Program to Demonstrate Arrays Class> // Via asList() method> > // Importing Arrays utility class> // from java.util package> import> java.util.Arrays;> > // Main class> class> GFG {> > >// Main driver method> >public> static> void> main(String[] args)> >{> >// Get the Array> >int> intArr[] = {>10>,>20>,>15>,>22>,>35> };> > >// To convert the elements as List> >System.out.println(>'Integer Array as List: '> >+ Arrays.asList(intArr));> >}> }> |
>
>Wyjście
Integer Array as List: [[I@2f4d3709]>
Przykład 2: wyszukiwanie binarne() metoda
Metody te wyszukują określony element w tablicy za pomocą algorytmu wyszukiwania binarnego.
Jawa
// Java Program to Demonstrate Arrays Class> // Via binarySearch() method> > // Importing Arrays utility class> // from java.util package> import> java.util.Arrays;> > // Main class> public> class> GFG {> > >// Main driver method> >public> static> void> main(String[] args)> >{> > >// Get the Array> >int> intArr[] = {>10>,>20>,>15>,>22>,>35> };> > >Arrays.sort(intArr);> > >int> intKey =>22>;> > >// Print the key and corresponding index> >System.out.println(> >intKey +>' found at index = '> >+ Arrays.binarySearch(intArr, intKey));> >}> }> |
>
>Wyjście
22 found at index = 3>
Przykład 3: binarySearch(array, fromIndex, toIndex, key, Comparator) Metoda
Ta metoda przeszukuje zakres określonej tablicy dla określonego obiektu przy użyciu algorytmu wyszukiwania binarnego.
Jawa
// Java program to demonstrate> // Arrays.binarySearch() method> > import> java.util.Arrays;> > public> class> Main {> >public> static> void> main(String[] args)> >{> > >// Get the Array> >int> intArr[] = {>10>,>20>,>15>,>22>,>35> };> > >Arrays.sort(intArr);> > >int> intKey =>22>;> > >System.out.println(> >intKey> >+>' found at index = '> >+ Arrays> >.binarySearch(intArr,>1>,>3>, intKey));> >}> }> |
>
>Wyjście
22 found at index = -4>
Przykład 4: porównaj(tablica 1, tablica 2) Metoda
Jawa
// Java program to demonstrate> // Arrays.compare() method> > import> java.util.Arrays;> > public> class> Main {> >public> static> void> main(String[] args)> >{> > >// Get the Array> >int> intArr[] = {>10>,>20>,>15>,>22>,>35> };> > >// Get the second Array> >int> intArr1[] = {>10>,>15>,>22> };> > >// To compare both arrays> >System.out.println(>'Integer Arrays on comparison: '> >+ Arrays.compare(intArr, intArr1));> >}> }> |
>
>Wyjście
Integer Arrays on comparison: 1>
Przykład 5: porównajUnsigned(tablica 1, tablica 2) Metoda
Jawa
// Java program to demonstrate> // Arrays.compareUnsigned() method> > import> java.util.Arrays;> > public> class> Main {> >public> static> void> main(String[] args)> >{> > >// Get the Arrays> >int> intArr[] = {>10>,>20>,>15>,>22>,>35> };> > >// Get the second Arrays> >int> intArr1[] = {>10>,>15>,>22> };> > >// To compare both arrays> >System.out.println(>'Integer Arrays on comparison: '> >+ Arrays.compareUnsigned(intArr, intArr1));> >}> }> |
>
>Wyjście
Integer Arrays on comparison: 1>
Przykład 6: Metoda copyOf(originalArray, newLength).
Jawa
// Java program to demonstrate> // Arrays.copyOf() method> > import> java.util.Arrays;> > public> class> Main {> >public> static> void> main(String[] args)> >{> > >// Get the Array> >int> intArr[] = {>10>,>20>,>15>,>22>,>35> };> > >// To print the elements in one line> >System.out.println(>'Integer Array: '> >+ Arrays.toString(intArr));> > >System.out.println(>'
New Arrays by copyOf:
'>);> > >System.out.println(>'Integer Array: '> >+ Arrays.toString(> >Arrays.copyOf(intArr,>10>)));> >}> }> |
>
>Wyjście
Integer Array: [10, 20, 15, 22, 35] New Arrays by copyOf: Integer Array: [10, 20, 15, 22, 35, 0, 0, 0, 0, 0]>
Przykład 7: copyOfRange(originalArray, fromIndex, endIndex) Metoda
Jawa
// Java program to demonstrate> // Arrays.copyOfRange() method> > import> java.util.Arrays;> > public> class> Main {> >public> static> void> main(String[] args)> >{> > >// Get the Array> >int> intArr[] = {>10>,>20>,>15>,>22>,>35> };> > >// To print the elements in one line> >System.out.println(>'Integer Array: '> >+ Arrays.toString(intArr));> > >System.out.println(>'
New Arrays by copyOfRange:
'>);> > >// To copy the array into an array of new length> >System.out.println(>'Integer Array: '> >+ Arrays.toString(> >Arrays.copyOfRange(intArr,>1>,>3>)));> >}> }> |
>
>Wyjście
Integer Array: [10, 20, 15, 22, 35] New Arrays by copyOfRange: Integer Array: [20, 15]>
Przykład 8: deepEquals(Obiekt[] a1, Obiekt[] a2) Metoda
Jawa
// Java program to demonstrate> // Arrays.deepEquals() method> > import> java.util.Arrays;> > public> class> Main {> >public> static> void> main(String[] args)> >{> > >// Get the Arrays> >int> intArr[][] = { {>10>,>20>,>15>,>22>,>35> } };> > >// Get the second Arrays> >int> intArr1[][] = { {>10>,>15>,>22> } };> > >// To compare both arrays> >System.out.println(>'Integer Arrays on comparison: '> >+ Arrays.deepEquals(intArr, intArr1));> >}> }> |
>
>Wyjście
Integer Arrays on comparison: false>
Przykład 9: deepHashCode(Object[] a) Metoda
Jawa
// Java program to demonstrate> // Arrays.deepHashCode() method> > import> java.util.Arrays;> > public> class> Main {> >public> static> void> main(String[] args)> >{> > >// Get the Array> >int> intArr[][] = { {>10>,>20>,>15>,>22>,>35> } };> > >// To get the dep hashCode of the arrays> >System.out.println(>'Integer Array: '> >+ Arrays.deepHashCode(intArr));> >}> }> |
>
>Wyjście
Integer Array: 38475344>
Przykład 10: deepToString(Object[] a) Metoda
Jawa
// Java program to demonstrate> // Arrays.deepToString() method> > import> java.util.Arrays;> > public> class> Main {> >public> static> void> main(String[] args)> >{> > >// Get the Array> >int> intArr[][] = { {>10>,>20>,>15>,>22>,>35> } };> > >// To get the deep String of the arrays> >System.out.println(>'Integer Array: '> >+ Arrays.deepToString(intArr));> >}> }> |
>
>Wyjście
Integer Array: [[10, 20, 15, 22, 35]]>
Przykład 11: równa się (tablica1, tablica2) Metoda
Jawa
PowerShell z komentarzami wielowierszowymi
// Java program to demonstrate> // Arrays.equals() method> > import> java.util.Arrays;> > public> class> Main {> >public> static> void> main(String[] args)> >{> > >// Get the Arrays> >int> intArr[] = {>10>,>20>,>15>,>22>,>35> };> > >// Get the second Arrays> >int> intArr1[] = {>10>,>15>,>22> };> > >// To compare both arrays> >System.out.println(>'Integer Arrays on comparison: '> >+ Arrays.equals(intArr, intArr1));> >}> }> |
>
>Wyjście
Integer Arrays on comparison: false>
Przykład 12: fill(originalArray, fillValue) metoda
Jawa
// Java program to demonstrate> // Arrays.fill() method> > import> java.util.Arrays;> > public> class> Main {> >public> static> void> main(String[] args)> >{> > >// Get the Arrays> >int> intArr[] = {>10>,>20>,>15>,>22>,>35> };> > >int> intKey =>22>;> > >Arrays.fill(intArr, intKey);> > >// To fill the arrays> >System.out.println(>'Integer Array on filling: '> >+ Arrays.toString(intArr));> >}> }> |
>
>Wyjście
Integer Array on filling: [22, 22, 22, 22, 22]>
Przykład 13: Metoda hashCode(originalArray).
Jawa
// Java program to demonstrate> // Arrays.hashCode() method> > import> java.util.Arrays;> > public> class> Main {> >public> static> void> main(String[] args)> >{> > >// Get the Array> >int> intArr[] = {>10>,>20>,>15>,>22>,>35> };> > >// To get the hashCode of the arrays> >System.out.println(>'Integer Array: '> >+ Arrays.hashCode(intArr));> >}> }> |
>
>Wyjście
Integer Array: 38475313>
Przykład 14: mismatch(tablica1, tablica2) Metoda
Jawa
// Java program to demonstrate> // Arrays.mismatch() method> > import> java.util.Arrays;> > public> class> Main {> >public> static> void> main(String[] args)> >{> > >// Get the Arrays> >int> intArr[] = {>10>,>20>,>15>,>22>,>35> };> > >// Get the second Arrays> >int> intArr1[] = {>10>,>15>,>22> };> > >// To compare both arrays> >System.out.println(>'The element mismatched at index: '> >+ Arrays.mismatch(intArr, intArr1));> >}> }> |
10 ze 100
>
>Wyjście
The element mismatched at index: 1>
Przykład 15: Metoda równoległego sortowania(originalArray).
Jawa
// Java program to demonstrate> // Arrays.parallelSort() method> > // Importing Arrays class from> // java.util package> import> java.util.Arrays;> > // Main class> public> class> Main {> >public> static> void> main(String[] args)> >{> > >// Get the Array> >int> intArr[] = {>10>,>20>,>15>,>22>,>35> };> > >// To sort the array using parallelSort> >Arrays.parallelSort(intArr);> > >System.out.println(>'Integer Array: '> >+ Arrays.toString(intArr));> >}> }> |
>
>Wyjście
Integer Array: [10, 15, 20, 22, 35]>
Przykład 16: sortuj(oryginalna tablica) metoda
Jawa
// Java program to demonstrate> // Arrays.sort() method> > import> java.util.Arrays;> > public> class> Main {> >public> static> void> main(String[] args)> >{> > >// Get the Array> >int> intArr[] = {>10>,>20>,>15>,>22>,>35> };> > >// To sort the array using normal sort-> >Arrays.sort(intArr);> > >System.out.println(>'Integer Array: '> >+ Arrays.toString(intArr));> >}> }> |
>
>Wyjście
Integer Array: [10, 15, 20, 22, 35]>
Przykład 17: sort(originalArray, fromIndex, endIndex) metoda
Jawa
// Java program to demonstrate> // Arrays.sort() method> > import> java.util.Arrays;> > public> class> Main {> >public> static> void> main(String[] args)> >{> > >// Get the Array> >int> intArr[] = {>10>,>20>,>15>,>22>,>35> };> > >// To sort the array using normal sort> >Arrays.sort(intArr,>1>,>3>);> > >System.out.println(>'Integer Array: '> >+ Arrays.toString(intArr));> >}> }> |
>
>Wyjście
Integer Array: [10, 15, 20, 22, 35]>
Przykład 18: sort(T[] a, int fromIndex, int toIndex, Komparator c) metoda
Jawa
// Java program to demonstrate working of Comparator> // interface> import> java.util.*;> import> java.lang.*;> import> java.io.*;> > // A class to represent a student.> class> Student {> >int> rollno;> >String name, address;> > >// Constructor> >public> Student(>int> rollno, String name,> >String address)> >{> >this>.rollno = rollno;> >this>.name = name;> >this>.address = address;> >}> > >// Used to print student details in main()> >public> String toString()> >{> >return> this>.rollno +>' '> >+>this>.name +>' '> >+>this>.address;> >}> }> > class> Sortbyroll>implements> Comparator {> >// Used for sorting in ascending order of> >// roll number> >public> int> compare(Student a, Student b)> >{> >return> a.rollno - b.rollno;> >}> }> > // Driver class> class> Main {> >public> static> void> main(String[] args)> >{> >Student[] arr = {>new> Student(>111>,>'bbbb'>,>'london'>),> >new> Student(>131>,>'aaaa'>,>'nyc'>),> >new> Student(>121>,>'cccc'>,>'jaipur'>) };> > >System.out.println(>'Unsorted'>);> >for> (>int> i =>0>; i System.out.println(arr[i]); Arrays.sort(arr, 1, 2, new Sortbyroll()); System.out.println('
Sorted by rollno'); for (int i = 0; i System.out.println(arr[i]); } }> |
>
>Wyjście
Unsorted 111 bbbb london 131 aaaa nyc 121 cccc jaipur Sorted by rollno 111 bbbb london 131 aaaa nyc 121 cccc jaipur>
Przykład 19: sort(T[] a, Komparator c) metoda
Jawa
// Java program to demonstrate working of Comparator> // interface> import> java.util.*;> import> java.lang.*;> import> java.io.*;> > // A class to represent a student.> class> Student {> >int> rollno;> >String name, address;> > >// Constructor> >public> Student(>int> rollno, String name,> >String address)> >{> >this>.rollno = rollno;> >this>.name = name;> >this>.address = address;> >}> > >// Used to print student details in main()> >public> String toString()> >{> >return> this>.rollno +>' '> >+>this>.name +>' '> >+>this>.address;> >}> }> > class> Sortbyroll>implements> Comparator {> > >// Used for sorting in ascending order of> >// roll number> >public> int> compare(Student a, Student b)> >{> >return> a.rollno - b.rollno;> >}> }> > // Driver class> class> Main {> >public> static> void> main(String[] args)> >{> >Student[] arr = {>new> Student(>111>,>'bbbb'>,>'london'>),> >new> Student(>131>,>'aaaa'>,>'nyc'>),> >new> Student(>121>,>'cccc'>,>'jaipur'>) };> > >System.out.println(>'Unsorted'>);> >for> (>int> i =>0>; i System.out.println(arr[i]); Arrays.sort(arr, new Sortbyroll()); System.out.println('
Sorted by rollno'); for (int i = 0; i System.out.println(arr[i]); } }> |
>
>Wyjście
Unsorted 111 bbbb london 131 aaaa nyc 121 cccc jaipur Sorted by rollno 111 bbbb london 121 cccc jaipur 131 aaaa nyc>
Przykład 20: Metoda spliterator(originalArray).
Jawa
// Java program to demonstrate> // Arrays.spliterator() method> > import> java.util.Arrays;> > public> class> Main {> >public> static> void> main(String[] args)> >{> > >// Get the Array> >int> intArr[] = {>10>,>20>,>15>,>22>,>35> };> > >// To sort the array using normal sort> >System.out.println(>'Integer Array: '> >+ Arrays.spliterator(intArr));> >}> }> |
>
>Wyjście
Integer Array: java.util.Spliterators$IntArraySpliterator@4e50df2e>
Przykład 21: spliterator(originalArray, fromIndex, endIndex) Metoda
Jawa
// Java program to demonstrate> // Arrays.spliterator() method> > import> java.util.Arrays;> > public> class> Main {> >public> static> void> main(String[] args)> >{> > >// Get the Array> >int> intArr[] = {>10>,>20>,>15>,>22>,>35> };> > >// To sort the array using normal sort> >System.out.println(>'Integer Array: '> >+ Arrays.spliterator(intArr,>1>,>3>));> >}> }> |
>
>Wyjście
Integer Array: java.util.Spliterators$IntArraySpliterator@4e50df2e>
Przykład 22: Metoda stream(originalArray).
Jawa
// Java program to demonstrate> // Arrays.stream() method> > import> java.util.Arrays;> > public> class> Main {> >public> static> void> main(String[] args)> >{> > >// Get the Array> >int> intArr[] = {>10>,>20>,>15>,>22>,>35> };> > >// To get the Stream from the array> >System.out.println(>'Integer Array: '> >+ Arrays.stream(intArr));> >}> }> |
>
>Wyjście
Integer Array: java.util.stream.IntPipeline$Head@7291c18f>
Przykład 23: toString(oryginalna tablica) metoda
Jawa
// Java program to demonstrate> // Arrays.toString() method> > import> java.util.Arrays;> > public> class> Main {> >public> static> void> main(String[] args)> >{> > >// Get the Array> >int> intArr[] = {>10>,>20>,>15>,>22>,>35> };> > >// To print the elements in one line> >System.out.println(>'Integer Array: '> >+ Arrays.toString(intArr));> >}> }> |
>
>Wyjście
Integer Array: [10, 20, 15, 22, 35]>