De Matriser klass i java.util-paketet är en del av Java Collection Framework . Den här klassen tillhandahåller statiska metoder för att dynamiskt skapa och komma åt Java-arrayer . Den består av endast statiska metoder och metoderna i klassen Object. Metoderna för denna klass kan användas av själva klassnamnet.
Klasshierarkin är som följer:
java.lang.Object ? java.util.Arrays>
Nörd, nu måste du undra varför vi behöver java Arrays-klass när vi kan deklarera, initiera och beräkna operationer över arrayer. Svaret på detta ligger dock inom metoderna i denna klass som vi kommer att diskutera vidare eftersom dessa funktioner praktiskt taget hjälper programmerare att expandera horisonter med arrayer, till exempel finns det ofta tillfällen då slingor används för att utföra vissa uppgifter i en array som:
- Fyll en array med ett visst värde.
- Sortera en Arrays.
- Sök i en Arrays.
- Och många fler.
Här tillhandahåller klassen Arrays flera statiska metoder som kan användas för att utföra dessa uppgifter direkt utan användning av loopar, vilket gör vår kod superkort och optimerad.
Syntax: Klassdeklaration
public class Arrays extends Object>
Syntax: För att kunna använda Arrays
Arrays.;>
Metoder i Java Array Class
Arrays-klassen i paketet java.util innehåller flera statiska metoder som kan användas för att fylla, sortera, söka etc i arrayer. Låt oss nu diskutera metoderna för denna klass som visas nedan i ett tabellformat enligt följande:
| Metoder | Åtgärd utförd |
|---|---|
| asList() | Returnerar en lista med fast storlek som backas upp av de angivna matriserna |
| binarySearch() | Söker efter det angivna elementet i arrayen med hjälp av den binära sökalgoritmen |
| binarySearch(array, fromIndex, toIndex, key, Comparator) | Söker i ett intervall av den angivna arrayen efter det angivna objektet med hjälp av den binära sökalgoritmen |
| jämför (matris 1, matris 2) | Jämför två arrayer som skickas som parametrar lexikografiskt. |
| copyOf(originalArray, newLength) | Kopierar den angivna arrayen, trunkerar eller utfylls med standardvärdet (om nödvändigt) så att kopian har den angivna längden. |
| copyOfRange(originalArray, fromIndex, endIndex) | Kopierar det angivna intervallet för den angivna arrayen till en ny Array. |
| deepEquals(Objekt[] a1, Objekt[] a2) | Returnerar sant om de två angivna arrayerna är djupt lika med varandra. |
| deepHashCode(Objekt[] a) | Returnerar en hash-kod baserat på det djupa innehållet i de angivna matriserna. |
| deepToString(Objekt[] a) | Returnerar en strängrepresentation av det djupa innehållet i de angivna matriserna. |
| lika med (matris1, matris2) | Kontrollerar om båda arrayerna är lika eller inte. |
| fill(originalArray, fillValue) | Tilldelar detta fyllningsvärde till varje index i denna array. |
| hashCode(originalArray) | Returnerar en heltalshashCode för denna arrayinstans. |
| missmatch (matris1, matris2) | Hittar och returnerar indexet för det första omatchade elementet mellan de två angivna arrayerna. |
| parallellPrefix(originalArray, fromIndex, endIndex, functionalOperator) | Utför parallellprefix för det givna området för arrayen med den angivna funktionella operatorn. |
| parallellPrefix(originalArray, operator) | Utför parallellprefix för komplett array med den angivna funktionella operatorn. |
| parallelSetAll(originalArray, functionalGenerator) | Ställer in alla element i denna array parallellt med den medföljande generatorfunktionen. |
| parallelSort(originalArray) | Sorterar den angivna matrisen med parallell sortering. |
| setAll(originalArray, functionalGenerator) | Ställer in alla element i den angivna arrayen med hjälp av den tillhandahållna generatorfunktionen. |
| sort(originalArray) | Sorterar hela arrayen i stigande ordning. |
| sort(originalArray, fromIndex, endIndex) | Sorterar det angivna intervallet av array i stigande ordning. |
| sort(T[] a, int fromIndex, int toIndex, Comparator c) | Sorterar det angivna området för den angivna arrayen av objekt enligt den ordning som induceras av den angivna komparatorn. |
| sortera(T[] a, komparator c) | Sorterar den angivna arrayen av objekt enligt den ordning som induceras av den angivna komparatorn. |
| spliterator(originalArray) | Returnerar en splitterator som täcker alla de angivna arrayerna. |
| spliterator(originalArray, fromIndex, endIndex) | Returnerar en splitterator av den typ av array som täcker det angivna intervallet för de angivna arrayerna. |
| stream (originalArray) | Returnerar en sekventiell ström med den angivna arrayen som källa. |
| toString(originalArray) | Den returnerar en strängrepresentation av innehållet i denna array. Strängrepresentationen består av en lista med arrayens element, omgiven av hakparenteser ([]). Intilliggande element separeras av tecknen ett kommatecken följt av ett mellanslag. Element konverteras till strängar som av String.valueOf()-funktionen. |
Genomförande:
Exempel 1: asList() Metod
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));> >}> }> |
>
>Produktion
Integer Array as List: [[I@2f4d3709]>
Exempel 2: binarySearch() Metod
Denna metod söker efter det angivna elementet i arrayen med hjälp av den binära sökalgoritmen.
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));> >}> }> |
>
>Produktion
22 found at index = 3>
Exempel 3: binarySearch(array, fromIndex, toIndex, key, Comparator) Metod
Den här metoden söker efter ett intervall av den angivna arrayen efter det angivna objektet med den binära sökalgoritmen.
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));> >}> }> |
>
>Produktion
22 found at index = -4>
Exempel 4: jämför (matris 1, matris 2) Metod
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));> >}> }> |
>
>Produktion
Integer Arrays on comparison: 1>
Exempel 5: compareUnsigned(array 1, array 2) Metod
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));> >}> }> |
>
>Produktion
Integer Arrays on comparison: 1>
Exempel 6: copyOf(originalArray, newLength) Metod
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>)));> >}> }> |
>
>Produktion
Integer Array: [10, 20, 15, 22, 35] New Arrays by copyOf: Integer Array: [10, 20, 15, 22, 35, 0, 0, 0, 0, 0]>
Exempel 7: copyOfRange(originalArray, fromIndex, endIndex) Metod
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>)));> >}> }> |
>
>Produktion
Integer Array: [10, 20, 15, 22, 35] New Arrays by copyOfRange: Integer Array: [20, 15]>
Exempel 8: deepEquals(Objekt[] a1, Objekt[] a2) Metod
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));> >}> }> |
>
>Produktion
Integer Arrays on comparison: false>
Exempel 9: deepHashCode(Objekt[] a) Metod
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));> >}> }> |
>
>Produktion
Integer Array: 38475344>
Exempel 10: deepToString(Object[] a) Metod
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));> >}> }> |
>
>Produktion
Integer Array: [[10, 20, 15, 22, 35]]>
Exempel 11: equals(array1, array2) Metod
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));> >}> }> |
>
>Produktion
Integer Arrays on comparison: false>
Exempel 12: fill(originalArray, fillValue) Metod
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));> >}> }> |
>
>Produktion
Integer Array on filling: [22, 22, 22, 22, 22]>
Exempel 13: hashCode(originalArray) metod
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));> >}> }> |
>
>Produktion
Integer Array: 38475313>
Exempel 14: mismatch(array1, array2) Metod
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));> >}> }> |
>
>Produktion
The element mismatched at index: 1>
Exempel 15: parallellSort(originalArray) Metod
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));> >}> }> |
>
>Produktion
Integer Array: [10, 15, 20, 22, 35]>
Exempel 16: sort(originalArray) Metod
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));> >}> }> |
>
>Produktion
Integer Array: [10, 15, 20, 22, 35]>
Exempel 17: sort(originalArray, fromIndex, endIndex) Metod
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));> >}> }> |
>
>Produktion
Integer Array: [10, 15, 20, 22, 35]>
Exempel 18: sort(T[] a, int fromIndex, int toIndex, Comparator c) Metod
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]); } }> |
>
>Produktion
Unsorted 111 bbbb london 131 aaaa nyc 121 cccc jaipur Sorted by rollno 111 bbbb london 131 aaaa nyc 121 cccc jaipur>
Exempel 19: sortera(T[] a, komparator c) Metod
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]); } }> |
>
>Produktion
Unsorted 111 bbbb london 131 aaaa nyc 121 cccc jaipur Sorted by rollno 111 bbbb london 121 cccc jaipur 131 aaaa nyc>
Exempel 20: spliterator(originalArray) metod
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));> >}> }> |
>
>Produktion
Integer Array: java.util.Spliterators$IntArraySpliterator@4e50df2e>
Exempel 21: spliterator(originalArray, fromIndex, endIndex) Metod
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>));> >}> }> |
>
>Produktion
Integer Array: java.util.Spliterators$IntArraySpliterator@4e50df2e>
Exempel 22: stream(originalArray) metod
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));> >}> }> |
>
>Produktion
Integer Array: java.util.stream.IntPipeline$Head@7291c18f>
Exempel 23: toString(originalArray) Metod
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));> >}> }> |
>
rullhjulet fungerar inte
>Produktion
Integer Array: [10, 20, 15, 22, 35]>