De Matriser klasse i java.util-pakken er en del av Java Collection Framework . Denne klassen gir statiske metoder for dynamisk opprettelse og tilgang Java-matriser . Den består kun av statiske metoder og metodene til Object class. Metodene til denne klassen kan brukes av selve klassenavnet.
Klassehierarkiet er som følger:
java.lang.Object ? java.util.Arrays>
Geek, nå må du lure på hvorfor vi trenger java Arrays-klassen når vi er i stand til å deklarere, initialisere og beregne operasjoner over arrays. Svaret på dette ligger imidlertid innenfor metodene i denne klassen som vi skal diskutere videre, da disse funksjonene praktisk talt hjelper programmerere med å utvide horisonten med matriser, for eksempel er det ofte tider når løkker brukes til å gjøre noen oppgaver på en matrise som:
- Fyll en matrise med en bestemt verdi.
- Sorter en matrise.
- Søk i en matrise.
- Og mange flere.
Her tilbyr Arrays-klassen flere statiske metoder som kan brukes til å utføre disse oppgavene direkte uten bruk av loops, og dermed gjør koden vår superkort og optimalisert.
Syntaks: Klasseerklæring
public class Arrays extends Object>
Syntaks: For å bruke Arrays
Arrays.;>
Metoder i Java Array Class
Arrays-klassen til java.util-pakken inneholder flere statiske metoder som kan brukes til å fylle, sortere, søke osv. i matriser. La oss nå diskutere metodene for denne klassen som er vist nedenfor i et tabellformat som følger:
| Metoder | Handling utført |
|---|---|
| asList() | Returnerer en liste med fast størrelse støttet av de angitte matrisene |
| binært søk() | Søker etter det spesifiserte elementet i matrisen ved hjelp av den binære søkealgoritmen |
| binært søk(matrise, fraindeks, tilindeks, nøkkel, komparator) | Søker i et område av den angitte matrisen for det spesifiserte objektet ved hjelp av den binære søkealgoritmen |
| sammenlign (matrise 1, matrise 2) | Sammenligner to matriser som sendes som parametere leksikografisk. |
| copyOf(originalArray, newLength) | Kopierer den angitte matrisen, trunkerer eller utfyller med standardverdien (hvis nødvendig), slik at kopien har den angitte lengden. |
| copyOfRange(originalArray, fromIndex, endIndex) | Kopierer det spesifiserte området til den angitte matrisen til en ny matrise. |
| deepEquals(Objekt[] a1, Objekt[] a2) | Returnerer sann hvis de to spesifiserte matrisene er dypt like med hverandre. |
| deepHashCode(Objekt[] a) | Returnerer en hash-kode basert på det dype innholdet i de angitte matrisene. |
| deepToString(Objekt[] a) | Returnerer en strengrepresentasjon av det dype innholdet i de angitte matrisene. |
| lik (matrise1, matrise2) | Sjekker om begge arrayene er like eller ikke. |
| fill(originalArray, fillValue) | Tildeler denne fyllverdien til hver indeks i denne matrisen. |
| hashCode(originalArray) | Returnerer en heltall hashCode for denne array-forekomsten. |
| mismatch (matrise1, matrise2) | Finner og returnerer indeksen til det første umatchede elementet mellom de to spesifiserte matrisene. |
| parallelPrefix(originalArray, fromIndex, endIndex, functionalOperator) | Utfører parallellprefiks for det gitte området til matrisen med den angitte funksjonelle operatoren. |
| parallelPrefix(originalArray, operator) | Utfører parallelPrefix for komplett array med den angitte funksjonelle operatøren. |
| parallelSetAll(originalArray, functionalGenerator) | Setter alle elementene i denne matrisen parallelt ved hjelp av den medfølgende generatorfunksjonen. |
| parallelSort(originalArray) | Sorterer den angitte matrisen ved hjelp av parallell sortering. |
| setAll(originalArray, functionalGenerator) | Stiller inn alle elementene i den spesifiserte matrisen ved hjelp av generatorfunksjonen som følger med. |
| sort(originalArray) | Sorterer hele matrisen i stigende rekkefølge. |
| sort(originalArray, fromIndex, endIndex) | Sorterer det spesifiserte området for matrise i stigende rekkefølge. |
| sort(T[] a, int fra indeks, int til indeks, komparator c) | Sorterer det spesifiserte området for det spesifiserte utvalget av objekter i henhold til rekkefølgen indusert av den spesifiserte komparatoren. |
| sort(T[] a, komparator c) | Sorterer det spesifiserte utvalget av objekter i henhold til rekkefølgen indusert av den spesifiserte komparatoren. |
| splitter (originalArray) | Returnerer en splitter som dekker alle de spesifiserte matrisene. |
| spliterator(originalArray, fromIndex, endIndex) | Returnerer en splitter av typen array som dekker det spesifiserte området til de spesifiserte arrayene. |
| stream (originalArray) | Returnerer en sekvensiell strøm med den angitte matrisen som kilde. |
| toString(originalArray) | Den returnerer en strengrepresentasjon av innholdet i denne matrisen. Strengrepresentasjonen består av en liste over arrayens elementer, omsluttet av firkantede parenteser ([]). Tilstøtende elementer er atskilt med tegnene et komma etterfulgt av et mellomrom. Elementer konverteres til strenger som ved String.valueOf()-funksjonen. |
Gjennomføring:
Eksempel 1: asList() Metode
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));> >}> }> |
>
>Produksjon
Integer Array as List: [[I@2f4d3709]>
Eksempel 2: binært søk() Metode
Denne metoden søker etter det spesifiserte elementet i matrisen ved hjelp av den binære søkealgoritmen.
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));> >}> }> |
>
statisk java
>Produksjon
22 found at index = 3>
Eksempel 3: binarySearch(array, fromIndex, toIndex, key, Comparator) Metode
Denne metoden søker i et område av den spesifiserte matrisen for det spesifiserte objektet ved hjelp av den binære søkealgoritmen.
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));> >}> }> |
>
>Produksjon
22 found at index = -4>
Eksempel 4: sammenligne(matrise 1, matrise 2) Metode
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));> >}> }> |
>
>Produksjon
Integer Arrays on comparison: 1>
Eksempel 5: compareUnsigned(matrise 1, matrise 2) Metode
Java
concat java-streng
// 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));> >}> }> |
>
>Produksjon
Integer Arrays on comparison: 1>
Eksempel 6: copyOf(originalArray, newLength) Metode
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>)));> >}> }> |
>
>Produksjon
Integer Array: [10, 20, 15, 22, 35] New Arrays by copyOf: Integer Array: [10, 20, 15, 22, 35, 0, 0, 0, 0, 0]>
Eksempel 7: copyOfRange(originalArray, fromIndex, endIndex) Metode
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>)));> >}> }> |
>
>Produksjon
Integer Array: [10, 20, 15, 22, 35] New Arrays by copyOfRange: Integer Array: [20, 15]>
Eksempel 8: deepEquals(Objekt[] a1, Objekt[] a2) Metode
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));> >}> }> |
>
>Produksjon
Integer Arrays on comparison: false>
Eksempel 9: deepHashCode(Objekt[] a) Metode
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));> >}> }> |
>
>Produksjon
Integer Array: 38475344>
Eksempel 10: deepToString(Objekt[] a) Metode
Java
lambda funksjon 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));> >}> }> |
>
>Produksjon
Integer Array: [[10, 20, 15, 22, 35]]>
Eksempel 11: lik(matrise1, matrise2) Metode
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));> >}> }> |
>
>Produksjon
Integer Arrays on comparison: false>
Eksempel 12: fill(originalArray, fillValue) Metode
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));> >}> }> |
>
>Produksjon
Integer Array on filling: [22, 22, 22, 22, 22]>
Eksempel 13: hashCode(originalArray) Metode
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));> >}> }> |
>
>Produksjon
Integer Array: 38475313>
Eksempel 14: mismatch(matrise1, matrise2) Metode
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));> >}> }> |
>
>Produksjon
The element mismatched at index: 1>
Eksempel 15: parallelSort(originalArray) Metode
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));> >}> }> |
>
eksempel binært søketre
>Produksjon
Integer Array: [10, 15, 20, 22, 35]>
Eksempel 16: sort(originalArray) Metode
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));> >}> }> |
>
>Produksjon
Integer Array: [10, 15, 20, 22, 35]>
Eksempel 17: sort(originalArray, fromIndex, endIndex) Metode
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));> >}> }> |
>
>Produksjon
Integer Array: [10, 15, 20, 22, 35]>
Eksempel 18: sort(T[] a, int fra indeks, int til indeks, komparator c) Metode
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]); } }> |
>
>Produksjon
Unsorted 111 bbbb london 131 aaaa nyc 121 cccc jaipur Sorted by rollno 111 bbbb london 131 aaaa nyc 121 cccc jaipur>
Eksempel 19: sort(T[] a, komparator c) Metode
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]); } }> |
>
>Produksjon
Unsorted 111 bbbb london 131 aaaa nyc 121 cccc jaipur Sorted by rollno 111 bbbb london 121 cccc jaipur 131 aaaa nyc>
Eksempel 20: spliterator(originalArray) metode
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));> >}> }> |
>
>Produksjon
Integer Array: java.util.Spliterators$IntArraySpliterator@4e50df2e>
Eksempel 21: spliterator(originalArray, fromIndex, endIndex) Metode
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>));> >}> }> |
>
int til char java
>Produksjon
Integer Array: java.util.Spliterators$IntArraySpliterator@4e50df2e>
Eksempel 22: stream(originalArray) metode
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));> >}> }> |
>
>Produksjon
Integer Array: java.util.stream.IntPipeline$Head@7291c18f>
Eksempel 23: toString(originalArray) Metode
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));> >}> }> |
>
>Produksjon
Integer Array: [10, 20, 15, 22, 35]>