logo

Kako natisniti matriko v Javi

Java array je podatkovna struktura, kamor lahko shranimo elemente istega podatkovnega tipa. Elementi matrike so shranjeni na sosednji pomnilniški lokaciji. Torej lahko v matriko shranimo fiksno množico elementov.

Obstajajo naslednji načini za tiskanje polja v Javi:

  • Java za zanka
  • Java za vsakogar zanka
  • Java Arrays.toString() metoda
  • Java Arrays.deepToString() metoda
  • Java Arrays.asList() metoda
  • Java Iterator Vmesnik
  • Java Tok API

Java za zanko

Java za zanka se uporablja za ponavljajoče se izvajanje niza stavkov, dokler ni izpolnjen določen pogoj.

podniz niza

Sintaksa:

 for(initialization; condition; increment/ decrement) { //statements } 

Primer zanke for

V naslednjem primeru smo ustvarili matriko dolžine štiri in vanj inicializirali elemente. Za pridobivanje vrednosti iz matrike smo uporabili zanko for. To je najbolj priljubljen način tiskanja matrike v Javi.

 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] = &apos;Delhi&apos;; city[1] = &apos;Jaipur&apos;; city[2] = &apos;Gujarat&apos;; city[3] = &apos;Mumbai&apos;; //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&apos;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={&apos;Hello&apos;,&apos;Java&apos;,&apos;Programmers&apos;}; 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&apos;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 = {&apos;Java&apos;, &apos;C&apos;, &apos;C++&apos;, &apos;Python&apos;, &apos;Perl&apos;}; //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 za vsako zanko

Java za vsakogar zanka se uporablja tudi za prečkanje matrike ali zbirke. Deluje na podlagi elementov. Vrne elemente enega za drugim v definirani spremenljivki.

Sintaksa:

 for(Type var:array) 

Primer zanke za vsak

V naslednjem primeru smo ustvarili matriko tipa String dolžine štiri in vanj inicializirali elemente. Za prehod po matriki smo uporabili zanko for-each.

 public class PrintArrayExample2 { public static void main(String args[]) { // declaration and instantiation of an array String[] city = new String[4]; //initializing elements city[0] = &apos;Delhi&apos;; city[1] = &apos;Jaipur&apos;; city[2] = &apos;Gujarat&apos;; city[3] = &apos;Mumbai&apos;; //traversing over array using for-each loop for (String str : city) { System.out.println(str); } } } 

Izhod:

 Delhi Jaipur Gujarat Mumbai 

Metoda Java Arrays.toString().

Java Arrays.toString() je statična metoda Nizi razred, ki mu pripada java.util paket Vsebuje različne metode za manipulacijo matrike.

Sintaksa:

 public static String toString(int[] a) 

Kot argument sprejme matriko katerega koli primitivnega tipa. Vrne a vrvica predstavitev matrike, ki vsebuje seznam elementov matrike. Elemente matrike pretvori v niz z String.valueOf(int) .

Primer metode toString().

 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)); } } 

Izhod:

 [34, -10, 56, -9, -33] 

Metoda Java Arrays.deepToString().

The deepToString() Metoda razreda Java Arrays je zasnovana za pretvorbo večdimenzionalnih nizov v nize.

Sintaksa:

 public static String deepToString(Object[] a) 

Kot parameter sprejme matriko. Vrne nizovno predstavitev matrike.

Primer metode deepToString().

V naslednjem primeru smo ustvarili dvodimenzionalno matriko tipa float.

 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)); } } 

Izhod:

 [[1.2, 2.5], [3.9, 4.0], [5.3, 6.2]] 

Metoda Java Arrays.asList().

Java Arrays.asList() je statična metoda Jave Nizi razred, ki mu pripada java.util paket. Deluje kot most med API-jem, ki temelji na matriki, in API-jem, ki temelji na zbirkah.

Sintaksa:

 public static ListasList(T...a) 

Metoda ponuja tudi preprost način za ustvarjanje seznama fiksne velikosti, ki ga inicializirate tako, da vsebuje veliko elementov.

 List obj=Arrays.toString(array[] a 

Kot argument sprejme matriko. Vrne pogled seznama matrike.

Primer metode asList().

 import java.util.Arrays; public class PrintArrayExample5 { public static void main(String [] args) { //declaration and initialization of two dimensional array String[] stringArray={&apos;Hello&apos;,&apos;Java&apos;,&apos;Programmers&apos;}; System.out.println(Arrays.asList(stringArray)); } 

Izhod:

 [Hello, Java, Programmers] 

Vmesnik Java Iterator

Java Iterator je vmesnik, ki pripada java.util paket. Objekt Iterator lahko ustvarite s klicem metode iterator(). Prisoten je v vmesniku zbirke. Vrne iterator.

Primer vmesnika Iterator

V naslednjem primeru smo deklarirali matriko in vanj inicializirali elemente. Navedeno matriko najprej pretvorimo v seznam z uporabo metode Arrays.asList(), ker nam iterator omogoča prehod po zbirki in nato priklic metode iterator() razreda zbirke.

 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()); } } } 

Izhod:

 1.5 2.6 3.7 4.8 5.9 

Java Stream API

Java Stream je podatkovna struktura, ki se izračuna na zahtevo. Ne shranjuje podatkov. Deluje na strukturi izvornih podatkov, kot sta zbirka in niz. Java stream API se uporablja za izvajanje notranje ponovitve. Zagotavlja več funkcij, kot sta zaporedno in vzporedno izvajanje.

Metoda Java stream().

Java tok () je statična metoda Jave Nizi razred, ki pripada paketu java.util. Uporablja se za pridobivanje zaporednega toka matrike.

Sintaksa:

 public static Stream stream(T[] array) 

Kje T je vrsta niza. Metoda sprejema an niz katerega elemente je treba pretvoriti v zaporedni tok. Vrne zaporedje IntStream z navedenim poljem kot izvorom.

Metoda Java forEach().

To je terminalna operacija. Ne zagotavlja spoštovanja vrstnega reda srečanj v toku.

Sintaksa:

 void forEach(Consumer action) 

Metoda sprejema an ukrepanje kot parameter. To je nemoteče dejanje, ki se izvaja na vsakem elementu. Ne vrne ničesar.

Obstajata dve terminalski operaciji, ki ju lahko uporabimo za tok za tiskanje matrike.

Pridobite iterator v tok

 Iterator it=Arrays.stream(arr).iterator(); 

Uporaba stream().forEach()

 Arrays.stream(arr).forEach(System.out::println); 

Primer metode stream.forEach().

V naslednjem primeru smo uporabili drugačen način za tiskanje matrike. Metoda forEach() se uporablja za ponavljanje vsakega elementa toka. Definiran je v vmesniku Iterable in Stream.

Znotraj metode forEach() smo uporabili System.out, ki je sklic na objekt. Predstavlja standardni izhodni tok. Ima metodo, imenovano println(). Je preobremenjena metoda, ki lahko sprejme karkoli kot argument. Ko postavimo metodo println() za operatorjem dostopa do članov (::), postane izraz.

 import java.util.Arrays; public class PrintArrayExample7 { public static void main(String[] args) { //declaration and initialization of an array of String type String[] arr = {&apos;Java&apos;, &apos;C&apos;, &apos;C++&apos;, &apos;Python&apos;, &apos;Perl&apos;}; //iterating by passing the method reference Arrays.stream(arr).forEach(System.out::println); } } 

Izhod:

 Java C C++ Python Perl