De Arrays klasse binnen java.util-pakket maakt deel uit van de Java-collectieframework . Deze klasse biedt statische methoden voor dynamische creatie en toegang Java-arrays . Het bestaat alleen uit statische methoden en de methoden van de Object-klasse. De methoden van deze klasse kunnen worden gebruikt door de klassenaam zelf.
De klassenhiërarchie is als volgt:
java.lang.Object ? java.util.Arrays>
Geek, nu vraag je je vast af waarom we de Java Arrays-klasse nodig hebben als we bewerkingen via arrays kunnen declareren, initialiseren en berekenen. Het antwoord hierop ligt echter in de methoden van deze klasse die we verder gaan bespreken, omdat deze functies programmeurs praktisch helpen hun horizon te verbreden met arrays. Er zijn bijvoorbeeld vaak momenten waarop lussen worden gebruikt om bepaalde taken op een array uit te voeren, zoals:
- Vul een array met een bepaalde waarde.
- Sorteer een array.
- Zoeken in een array.
- En nog veel meer.
Hier biedt de klasse Arrays verschillende statische methoden die kunnen worden gebruikt om deze taken rechtstreeks uit te voeren zonder het gebruik van lussen, waardoor onze code superkort en geoptimaliseerd wordt.
Syntaxis: Klasseverklaring
public class Arrays extends Object>
Syntaxis: Om arrays te gebruiken
Arrays.;>
Methoden in Java Array-klasse
De klasse Arrays van het pakket java.util bevat verschillende statische methoden die kunnen worden gebruikt voor het vullen, sorteren, zoeken, enzovoort in arrays. Laten we nu de methoden van deze klasse bespreken, die hieronder in tabelvorm als volgt worden weergegeven:
| Methoden | Actie uitgevoerd |
|---|---|
| alsLijst() | Retourneert een lijst met een vaste grootte, ondersteund door de opgegeven arrays |
| Binaire zoekopdracht() | Zoekt naar het opgegeven element in de array met behulp van het binaire zoekalgoritme |
| binarySearch(matrix, vanIndex, naarIndex, sleutel, Comparator) | Zoekt in een bereik van de opgegeven array naar het opgegeven object met behulp van het binaire zoekalgoritme |
| vergelijk(array 1, array 2) | Vergelijkt twee arrays die lexicografisch als parameters zijn doorgegeven. |
| copyOf(origineleArray, nieuweLengte) | Kopieert de opgegeven array, afgekapt of opgevuld met de standaardwaarde (indien nodig), zodat de kopie de opgegeven lengte heeft. |
| copyOfRange(origineleArray, fromIndex, endIndex) | Kopieert het opgegeven bereik van de opgegeven array naar een nieuwe array. |
| deepEquals(Object[] a1, Object[] a2) | Retourneert waar als de twee opgegeven matrices zeer gelijk aan elkaar zijn. |
| deepHashCode(Object[] a) | Retourneert een hashcode op basis van de diepe inhoud van de opgegeven arrays. |
| deepToString(Object[] a) | Retourneert een tekenreeksrepresentatie van de diepe inhoud van de opgegeven arrays. |
| is gelijk aan(array1, array2) | Controleert of beide arrays gelijk zijn of niet. |
| fill(originelematrix, fillwaarde) | Wijst deze opvulwaarde toe aan elke index van deze arrays. |
| hashCode(origineleArray) | Retourneert een geheel getal hashCode van deze array-instantie. |
| komt niet overeen(array1, array2) | Zoekt en retourneert de index van het eerste niet-overeenkomende element tussen de twee opgegeven arrays. |
| parallelPrefix(origineleArray, fromIndex, endIndex, functioneleOperator) | Voert parallelPrefix uit voor het opgegeven bereik van de array met de opgegeven functionele operator. |
| parallelPrefix(origineleArray, operator) | Voert parallelPrefix uit voor de volledige array met de opgegeven functionele operator. |
| parallelSetAll(origineleArray, functioneleGenerator) | Stelt alle elementen van deze array parallel in, met behulp van de meegeleverde generatorfunctie. |
| parallelSort(originelematrix) | Sorteert de opgegeven array met parallelle sortering. |
| setAll(origineleArray, functioneleGenerator) | Stelt alle elementen van de opgegeven array in met behulp van de meegeleverde generatorfunctie. |
| sort(originelematrix) | Sorteert de volledige array in oplopende volgorde. |
| sort(origineleArray, fromIndex, endIndex) | Sorteert het opgegeven bereik van de array in oplopende volgorde. |
| sort(T[] a, int vanIndex, int naarIndex, Comparator c) | Sorteert het opgegeven bereik van de opgegeven reeks objecten volgens de volgorde die door de opgegeven comparator wordt geïnduceerd. |
| sort(T[] a, vergelijker c) | Sorteert de opgegeven reeks objecten volgens de volgorde die door de opgegeven comparator wordt geïnduceerd. |
| spliterator (originele Array) | Retourneert een spliterator die alle opgegeven arrays omvat. |
| spliterator(origineleArray, fromIndex, endIndex) | Retourneert een spliterator van het type array dat het opgegeven bereik van de opgegeven arrays bestrijkt. |
| stream(originelematrix) | Retourneert een sequentiële stream met de opgegeven array als bron. |
| toString(oorspronkelijkematrix) | Het retourneert een tekenreeksrepresentatie van de inhoud van deze array. De tekenreeksrepresentatie bestaat uit een lijst met elementen van de array, tussen vierkante haakjes ([]). Aangrenzende elementen worden gescheiden door de tekens: een komma gevolgd door een spatie. Elementen worden geconverteerd naar tekenreeksen zoals door de functie String.valueOf(). |
Implementatie:
Voorbeeld 1: alsLijst() Methode
Java
// 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));> >}> }> |
>
>Uitvoer
Integer Array as List: [[I@2f4d3709]>
Voorbeeld 2: Binaire zoekopdracht() Methode
Deze methode zoekt naar het opgegeven element in de array met behulp van het binaire zoekalgoritme.
Java
// 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));> >}> }> |
>
>Uitvoer
22 found at index = 3>
Voorbeeld 3: binarySearch(array, fromIndex, toIndex, key, Comparator) Methode
Deze methode doorzoekt een bereik van de opgegeven array naar het opgegeven object met behulp van het binaire zoekalgoritme.
Java
// 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));> >}> }> |
>
>Uitvoer
22 found at index = -4>
Voorbeeld 4: vergelijk(array 1, array 2) Methode
Java
// 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));> >}> }> |
>
>Uitvoer
Integer Arrays on comparison: 1>
Voorbeeld 5: vergelijkUnsigned(array 1, array 2) Methode
Java
// 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));> >}> }> |
>
>Uitvoer
Integer Arrays on comparison: 1>
Voorbeeld 6: copyOf(originalArray, newLength) Methode
Java
// 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>)));> >}> }> |
>
>Uitvoer
Integer Array: [10, 20, 15, 22, 35] New Arrays by copyOf: Integer Array: [10, 20, 15, 22, 35, 0, 0, 0, 0, 0]>
Voorbeeld 7: copyOfRange(originalArray, fromIndex, endIndex) Methode
Java
// 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>)));> >}> }> |
>
>Uitvoer
Integer Array: [10, 20, 15, 22, 35] New Arrays by copyOfRange: Integer Array: [20, 15]>
Voorbeeld 8: deepEquals(Object[] a1, Object[] a2) Methode
Java
// 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));> >}> }> |
>
>Uitvoer
Integer Arrays on comparison: false>
Voorbeeld 9: deepHashCode(Object[] a) Methode
Java
// 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));> >}> }> |
>
>Uitvoer
Integer Array: 38475344>
Voorbeeld 10: deepToString(Object[] a) Methode
Java
// 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));> >}> }> |
>
>Uitvoer
Integer Array: [[10, 20, 15, 22, 35]]>
Voorbeeld 11: equals(array1, array2) Methode
Java
// 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));> >}> }> |
>
>Uitvoer
Integer Arrays on comparison: false>
Voorbeeld 12: fill(originelematrix, fillwaarde) Methode
Java
// 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));> >}> }> |
>
>Uitvoer
Integer Array on filling: [22, 22, 22, 22, 22]>
Voorbeeld 13: hashCode(origineleArray) Methode
Java
// 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));> >}> }> |
>
>Uitvoer
Integer Array: 38475313>
Voorbeeld 14: mismatch(array1, array2) Methode
Java
// 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));> >}> }> |
>
>Uitvoer
The element mismatched at index: 1>
Voorbeeld 15: parallelSort(origineleArray)-methode
Java
// 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));> >}> }> |
>
>Uitvoer
Integer Array: [10, 15, 20, 22, 35]>
Voorbeeld 16: sort(originelematrix) Methode
Java
// 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));> >}> }> |
>
>Uitvoer
Integer Array: [10, 15, 20, 22, 35]>
Voorbeeld 17: sort(origineleArray, fromIndex, endIndex) Methode
Java
// 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));> >}> }> |
>
>Uitvoer
Integer Array: [10, 15, 20, 22, 35]>
Voorbeeld 18: sort(T[] a, int vanIndex, int naarIndex, Comparator c) Methode
Java
// 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]); } }> |
>
bijwerken vanaf join sql
>Uitvoer
Unsorted 111 bbbb london 131 aaaa nyc 121 cccc jaipur Sorted by rollno 111 bbbb london 131 aaaa nyc 121 cccc jaipur>
Voorbeeld 19: sort(T[] a, vergelijker c) Methode
Java
// 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]); } }> |
>
>Uitvoer
Unsorted 111 bbbb london 131 aaaa nyc 121 cccc jaipur Sorted by rollno 111 bbbb london 121 cccc jaipur 131 aaaa nyc>
Voorbeeld 20: spliterator(originalArray) Method
Java
// 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));> >}> }> |
>
>Uitvoer
Integer Array: java.util.Spliterators$IntArraySpliterator@4e50df2e>
Voorbeeld 21: spliterator(originalArray, fromIndex, endIndex) Method
Java
// 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>));> >}> }> |
>
>Uitvoer
Integer Array: java.util.Spliterators$IntArraySpliterator@4e50df2e>
Voorbeeld 22: stream(origineleArray) Methode
Java
// 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));> >}> }> |
>
>Uitvoer
Integer Array: java.util.stream.IntPipeline$Head@7291c18f>
Voorbeeld 23: toString(oorspronkelijkematrix) Methode
Java
// 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));> >}> }> |
>
>Uitvoer
Integer Array: [10, 20, 15, 22, 35]>