Java-array er en datastruktur der vi kan lagre elementene av samme datatype. Elementene i en matrise er lagret i en sammenhengende minneplassering. Så vi kan lagre et fast sett med elementer i en matrise.
Det er følgende måter å skrive ut en matrise på i Java:
- Java til Løkke
- Java for hver Løkke
- Java Arrays.toString() metode
- Java Arrays.deepToString() metode
- Java Arrays.asList() metode
- Java Iterator Grensesnitt
- Java Strøm API
Java for loop
Java til loop brukes til å utføre et sett med setninger gjentatte ganger til en bestemt betingelse er oppfylt.
css bakgrunn
Syntaks:
for(initialization; condition; increment/ decrement) { //statements }
Eksempel på for loop
I det følgende eksempelet har vi laget en matrise med lengde fire og initialisert elementer i den. Vi har brukt for loop for å hente verdiene fra matrisen. Det er den mest populære måten å skrive ut array på i Java.
public class PrintArrayExample1 { public static void main(String args[]) { //declaration and instantiation of an array int arr[]=new int[4]; //initializing elements arr[0]=10; arr[1]=20; arr[2]=70; arr[3]=40; //traversing over array using for loop for(int i=0;i <arr.length;i++) length is the property of array system.out.println(arr[i]); } < pre> <p> <strong>Output:</strong> </p> <pre> 10 20 70 40 </pre> <h2>Java for-each loop</h2> <p>Java <strong>for-each</strong> loop is also used to traverse over an array or collection. It works on the basis of elements. It returns elements one by one in the defined variable. </p> <p> <strong>Syntax:</strong> </p> <pre> for(Type var:array) </pre> <p> <strong>Example of for-each loop</strong> </p> <p>In the following example, we have created an array of String type of length four and initialized elements into it. We have used for-each loop to traverse over the array.</p> <pre> public class PrintArrayExample2 { public static void main(String args[]) { // declaration and instantiation of an array String[] city = new String[4]; //initializing elements city[0] = 'Delhi'; city[1] = 'Jaipur'; city[2] = 'Gujarat'; city[3] = 'Mumbai'; //traversing over array using for-each loop for (String str : city) { System.out.println(str); } } } </pre> <p> <strong>Output:</strong> </p> <pre> Delhi Jaipur Gujarat Mumbai </pre> <h2>Java Arrays.toString() method</h2> <p>Java <strong>Arrays.toString()</strong> is a static method of <strong>Arrays </strong> class which belongs to <strong>java.util </strong> package It contains various methods for manipulating array. </p> <p> <strong>Syntax:</strong> </p> <pre> public static String toString(int[] a) </pre> <p>It accepts an array of any primitive type as an argument. It returns a <strong>string</strong> representation of an array that contains a list of array's elements. The elements of an array are converted to String by <strong>String.valueOf(int) </strong> .</p> <p> <strong>Example of toString() method</strong> </p> <pre> import java.util.Arrays; public class PrintArrayExample3 { public static void main(String[] args) { //declaring and initializing array int array[] = {34,-10, 56, -9, -33}; //returns string representation of the specified array System.out.println(Arrays.toString(array)); } } </pre> <p> <strong>Output:</strong> </p> <pre> [34, -10, 56, -9, -33] </pre> <h2>Java Arrays.deepToString() method</h2> <p>The <strong>deepToString()</strong> method of Java Arrays class is designed for converting multidimensional arrays to strings.</p> <p> <strong>Syntax:</strong> </p> <pre> public static String deepToString(Object[] a) </pre> <p>It accepts an array as a parameter. It returns the String representation of an array.</p> <p> <strong>Example of deepToString() method</strong> </p> <p>In the following example, we have created a two dimensional array of float type. </p> <pre> import java.util.Arrays; public class PrintArrayExample4 { public static void main(String[] args) { //declaration and initialization of two dimensional array of float type float[][] array = {{1.2f, 2.5f}, {3.9f, 4.0f}, {5.3f, 6.2f}}; System.out.println(Arrays.deepToString(array)); } } </pre> <p> <strong>Output:</strong> </p> <pre> [[1.2, 2.5], [3.9, 4.0], [5.3, 6.2]] </pre> <h2>Java Arrays.asList() method</h2> <p>Java <strong>Arrays.asList()</strong> is a static method of Java <strong>Arrays</strong> class which belongs to <strong>java.util</strong> package. It act as a bridge between array based and collection based API. </p> <p> <strong>Syntax:</strong> </p> <pre> public static ListasList(T...a) </pre> <p>The method also provides an easy way to create a fixed-size list initialize to contain many elements.</p> <pre> List obj=Arrays.toString(array[] a </pre> <p>It accepts an array as an argument. It returns the list view of an array.</p> <p> <strong>Example of asList() method</strong> </p> <pre> import java.util.Arrays; public class PrintArrayExample5 { public static void main(String [] args) { //declaration and initialization of two dimensional array String[] stringArray={'Hello','Java','Programmers'}; System.out.println(Arrays.asList(stringArray)); } </pre> <p> <strong>Output:</strong> </p> <pre> [Hello, Java, Programmers] </pre> <h2>Java Iterator interface</h2> <p>Java <strong>Iterator</strong> is an interface which belongs to <strong>java.util</strong> package. The Iterator object can be created by calling iterator() method. It is present in Collection interface. It returns an iterator.</p> <p> <strong>Example of Iterator interface</strong> </p> <p>In the following, example, we have declare an array and initialize elements into it. We first convert the specified array into list by using Arrays.asList() method because iterator allows us to traverse over the collection and then invoke iterator() method of collection class.</p> <pre> import java.util.Arrays; import java.util.Iterator; public class PrintArrayExample6 { public static void main(String[] args) { //declaration and initialization of an array of Double type Double[] array = { 1.5, 2.6, 3.7, 4.8, 5.9}; //returns an iterator Iterator it = Arrays.asList(array).iterator(); while(itr.hasNext()) //returns a boolean value { System.out.println(itr.next()); } } } </pre> <p> <strong>Output:</strong> </p> <pre> 1.5 2.6 3.7 4.8 5.9 </pre> <h2>Java Stream API</h2> <p>A Java Stream is a data structure which is computed on-demand. It doesn't store data. It operates on the source data structure such as collection and array. Java stream API is used to implement internal iteration. It provides several features such as sequential and parallel execution. </p> <h3>Java stream() method</h3> <p>Java <strong>stream()</strong> is a static method of Java <strong>Arrays</strong> class which belongs to java.util package. It is used to get a sequential stream of an array.</p> <p> <strong>Syntax:</strong> </p> <pre> public static Stream stream(T[] array) </pre> <p>Where <strong>T</strong> is the type of array. The method accepts an <strong>array</strong> whose elements are to be converted into a sequential stream. It returns a sequential <strong>IntStream</strong> with the specified array as its source.</p> <h3>Java forEach() method</h3> <p>It is a terminal operation. It does not guarantee to respect the encounter order of the stream.</p> <p> <strong>Syntax:</strong> </p> <pre> void forEach(Consumer action) </pre> <p>The method accepts an <strong>action</strong> as a parameter. It is non-interfering action perform on each element. It does not return anything.</p> <p>There are two terminal operations which we can apply to a stream to print an array.</p> <p> <strong>Get an iterator to the stream</strong> </p> <pre> Iterator it=Arrays.stream(arr).iterator(); </pre> <p> <strong>Using stream().forEach()</strong> </p> <pre> Arrays.stream(arr).forEach(System.out::println); </pre> <p> <strong>Example of stream.forEach() method</strong> </p> <p>In the following example, we have used a different way to print an array. The forEach() method is used to iterate over every element of the stream. It is defined in the Iterable and Stream interface.</p> <p>Inside the forEach() method we have used System.out which is a reference to an object. It represent standard output stream. It has a method called println(). It is an overloaded method which can accept anything as an argument. When we put println() method after member access operator (::), it becomes an expression.</p> <pre> import java.util.Arrays; public class PrintArrayExample7 { public static void main(String[] args) { //declaration and initialization of an array of String type String[] arr = {'Java', 'C', 'C++', 'Python', 'Perl'}; //iterating by passing the method reference Arrays.stream(arr).forEach(System.out::println); } } </pre> <p> <strong>Output:</strong> </p> <pre> Java C C++ Python Perl </pre> <hr></arr.length;i++)>
Java for hver sløyfe
Java for hver loop brukes også til å krysse over en matrise eller samling. Det fungerer på grunnlag av elementer. Den returnerer elementer én etter én i den definerte variabelen.
Syntaks:
for(Type var:array)
Eksempel på for hver sløyfe
I det følgende eksemplet har vi laget en rekke strengtype med lengde fire og initialisert elementer i den. Vi har brukt for-hver løkke for å krysse over matrisen.
public class PrintArrayExample2 { public static void main(String args[]) { // declaration and instantiation of an array String[] city = new String[4]; //initializing elements city[0] = 'Delhi'; city[1] = 'Jaipur'; city[2] = 'Gujarat'; city[3] = 'Mumbai'; //traversing over array using for-each loop for (String str : city) { System.out.println(str); } } }
Produksjon:
Delhi Jaipur Gujarat Mumbai
Java Arrays.toString()-metoden
Java Arrays.toString() er en statisk metode for Matriser klasse som tilhører java.util pakke Den inneholder forskjellige metoder for å manipulere array.
Syntaks:
public static String toString(int[] a)
Den aksepterer en rekke av enhver primitiv type som et argument. Den returnerer en streng representasjon av en matrise som inneholder en liste over matrisens elementer. Elementene i en matrise konverteres til String by String.valueOf(int) .
Eksempel på toString()-metoden
import java.util.Arrays; public class PrintArrayExample3 { public static void main(String[] args) { //declaring and initializing array int array[] = {34,-10, 56, -9, -33}; //returns string representation of the specified array System.out.println(Arrays.toString(array)); } }
Produksjon:
[34, -10, 56, -9, -33]
Java Arrays.deepToString()-metoden
De deepToString() metoden til Java Arrays-klassen er designet for å konvertere flerdimensjonale arrays til strenger.
Syntaks:
public static String deepToString(Object[] a)
Den aksepterer en matrise som en parameter. Den returnerer strengrepresentasjonen til en matrise.
Eksempel på deepToString()-metoden
I det følgende eksempelet har vi laget en todimensjonal rekke av flytetypen.
import java.util.Arrays; public class PrintArrayExample4 { public static void main(String[] args) { //declaration and initialization of two dimensional array of float type float[][] array = {{1.2f, 2.5f}, {3.9f, 4.0f}, {5.3f, 6.2f}}; System.out.println(Arrays.deepToString(array)); } }
Produksjon:
[[1.2, 2.5], [3.9, 4.0], [5.3, 6.2]]
Java Arrays.asList()-metoden
Java Arrays.asList() er en statisk metode for Java Matriser klasse som tilhører java.util pakke. Det fungerer som en bro mellom array-basert og samlingsbasert API.
Syntaks:
public static ListasList(T...a)
Metoden gir også en enkel måte å lage en liste med fast størrelse initialisering for å inneholde mange elementer.
List obj=Arrays.toString(array[] a
Den aksepterer en matrise som et argument. Den returnerer listevisningen til en matrise.
Eksempel på asList()-metoden
import java.util.Arrays; public class PrintArrayExample5 { public static void main(String [] args) { //declaration and initialization of two dimensional array String[] stringArray={'Hello','Java','Programmers'}; System.out.println(Arrays.asList(stringArray)); }
Produksjon:
[Hello, Java, Programmers]
Java Iterator-grensesnitt
Java Iterator er et grensesnitt som tilhører java.util pakke. Iterator-objektet kan opprettes ved å kalle iterator()-metoden. Den er til stede i samlingsgrensesnittet. Den returnerer en iterator.
Eksempel på Iterator-grensesnitt
I det følgende eksempelet har vi deklarert en matrise og initialisert elementer i den. Vi konverterer først den angitte matrisen til liste ved å bruke Arrays.asList()-metoden fordi iterator lar oss gå over samlingen og deretter påkalle iterator()-metoden for samlingsklassen.
import java.util.Arrays; import java.util.Iterator; public class PrintArrayExample6 { public static void main(String[] args) { //declaration and initialization of an array of Double type Double[] array = { 1.5, 2.6, 3.7, 4.8, 5.9}; //returns an iterator Iterator it = Arrays.asList(array).iterator(); while(itr.hasNext()) //returns a boolean value { System.out.println(itr.next()); } } }
Produksjon:
1.5 2.6 3.7 4.8 5.9
Java Stream API
En Java Stream er en datastruktur som beregnes på forespørsel. Den lagrer ikke data. Den opererer på kildedatastrukturen som innsamling og array. Java stream API brukes til å implementere intern iterasjon. Den gir flere funksjoner som sekvensiell og parallell utførelse.
Java stream() metode
Java strøm() er en statisk metode for Java Matriser klasse som tilhører java.util-pakken. Den brukes til å få en sekvensiell strøm av en matrise.
Syntaks:
public static Stream stream(T[] array)
Hvor T er typen array. Metoden aksepterer en array hvis elementer skal konverteres til en sekvensiell strøm. Den returnerer en sekvensiell IntStream med den angitte matrisen som kilde.
Java forEach()-metoden
Det er en terminal operasjon. Det garanterer ikke å respektere møterekkefølgen til strømmen.
Syntaks:
void forEach(Consumer action)
Metoden aksepterer en handling som en parameter. Det er ikke-forstyrrende handling utføre på hvert element. Det gir ikke noe tilbake.
Det er to terminaloperasjoner som vi kan bruke på en strøm for å skrive ut en matrise.
Få en iterator til strømmen
Iterator it=Arrays.stream(arr).iterator();
Bruke stream().forEach()
Arrays.stream(arr).forEach(System.out::println);
Eksempel på stream.forEach()-metoden
I følgende eksempel har vi brukt en annen måte å skrive ut en matrise på. ForEach()-metoden brukes til å iterere over hvert element i strømmen. Det er definert i Iterable- og Stream-grensesnittet.
Inne i forEach()-metoden har vi brukt System.out som er en referanse til et objekt. Den representerer standard utgangsstrøm. Den har en metode som heter println(). Det er en overbelastet metode som kan akseptere hva som helst som et argument. Når vi setter println()-metoden etter medlemstilgangsoperatøren (::), blir det et uttrykk.
import java.util.Arrays; public class PrintArrayExample7 { public static void main(String[] args) { //declaration and initialization of an array of String type String[] arr = {'Java', 'C', 'C++', 'Python', 'Perl'}; //iterating by passing the method reference Arrays.stream(arr).forEach(System.out::println); } }
Produksjon:
Java C C++ Python Perl