logo

Cum se imprimă matrice în Java

Matricea Java este o structură de date în care putem stoca elementele aceluiași tip de date. Elementele unui tablou sunt stocate într-o locație de memorie adiacentă. Deci, putem stoca un set fix de elemente într-o matrice.

Există următoarele moduri de a imprima o matrice în Java:

  • Java pentru buclă
  • Java pentru fiecare buclă
  • Java Arrays.toString() metodă
  • Java Arrays.deepToString() metodă
  • Java Arrays.asList() metodă
  • Java Iterator Interfață
  • Java Curent API

Java pentru buclă

Java pentru bucla este folosită pentru a executa un set de instrucțiuni în mod repetat până când o anumită condiție este îndeplinită.

șir java în matrice

Sintaxă:

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

Exemplu de buclă for

În exemplul următor, am creat o matrice de lungime patru și am inițializat elemente în ea. Am folosit bucla for pentru a prelua valorile din matrice. Este cel mai popular mod de a imprima matrice în 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] = &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 pentru fiecare buclă

Java pentru fiecare bucla este de asemenea folosită pentru a parcurge o matrice sau o colecție. Funcționează pe bază de elemente. Returnează elementele unul câte unul în variabila definită.

Sintaxă:

 for(Type var:array) 

Exemplu de buclă pentru fiecare

În exemplul următor, am creat o matrice de tip String de lungime patru și am inițializat elemente în ea. Am folosit for-each bucla pentru a parcurge matricea.

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

Ieșire:

 Delhi Jaipur Gujarat Mumbai 

Metoda Java Arrays.toString().

Java Arrays.toString() este o metodă statică de Matrice clasa careia ii apartine java.util pachet Conține diverse metode de manipulare a matricei.

Sintaxă:

 public static String toString(int[] a) 

Acceptă o matrice de orice tip primitiv ca argument. Se întoarce a şir reprezentarea unui tablou care conține o listă de elemente ale matricei. Elementele unui tablou sunt convertite în String de String.valueOf(int) .

Exemplu de metodă 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)); } } 

Ieșire:

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

Metoda Java Arrays.deepToString().

The deepToString() metoda clasei Java Arrays este concepută pentru a converti matrice multidimensionale în șiruri.

Sintaxă:

 public static String deepToString(Object[] a) 

Acceptă o matrice ca parametru. Returnează reprezentarea String a unui tablou.

Exemplu de metodă deepToString().

În exemplul următor, am creat o matrice bidimensională de tip 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)); } } 

Ieșire:

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

Metoda Java Arrays.asList().

Java Arrays.asList() este o metodă statică a Java Matrice clasa careia ii apartine java.util pachet. Acționează ca o punte între API-ul bazat pe matrice și API-ul bazat pe colecții.

Sintaxă:

 public static ListasList(T...a) 

Metoda oferă, de asemenea, o modalitate ușoară de a crea o listă de dimensiuni fixe inițializate pentru a conține multe elemente.

 List obj=Arrays.toString(array[] a 

Acceptă o matrice ca argument. Returnează vizualizarea listă a unui tablou.

Exemplu de metodă 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)); } 

Ieșire:

 [Hello, Java, Programmers] 

Interfață Java Iterator

Java Iterator este o interfață care îi aparține java.util pachet. Obiectul Iterator poate fi creat apelând metoda iterator(). Este prezent în interfața Collection. Returnează un iterator.

Exemplu de interfață Iterator

În exemplul următor, am declarat o matrice și am inițializat elemente în ea. Mai întâi convertim matricea specificată în listă utilizând metoda Arrays.asList() deoarece iteratorul ne permite să parcurgem colecția și apoi să invocăm metoda iterator() a clasei de colecție.

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

Ieșire:

 1.5 2.6 3.7 4.8 5.9 

API-ul Java Stream

Un flux Java este o structură de date care este calculată la cerere. Nu stochează date. Funcționează pe structura de date sursă, cum ar fi colecția și matricea. API-ul de flux Java este folosit pentru a implementa iterația internă. Acesta oferă mai multe caracteristici, cum ar fi execuția secvențială și paralelă.

Metoda Java stream().

Java curent() este o metodă statică a Java Matrice clasa care aparține pachetului java.util. Este folosit pentru a obține un flux secvenţial al unui tablou.

Sintaxă:

 public static Stream stream(T[] array) 

Unde T este tipul de matrice. Metoda acceptă un matrice ale căror elemente urmează să fie convertite într-un flux secvenţial. Returnează o secvențială IntStream cu matricea specificată ca sursă.

Metoda Java forEach().

Este o operațiune terminală. Nu garantează respectarea ordinii de întâlnire a fluxului.

Sintaxă:

 void forEach(Consumer action) 

Metoda acceptă un acțiune ca parametru. Este o acțiune care nu interferează cu fiecare element. Nu returneaza nimic.

Există două operații terminale pe care le putem aplica unui flux pentru a imprima o matrice.

Obțineți un iterator pentru flux

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

Folosind stream().forEach()

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

Exemplu de metodă stream.forEach().

În exemplul următor, am folosit o modalitate diferită de a imprima o matrice. Metoda forEach() este folosită pentru a repeta fiecare element al fluxului. Este definit în interfața Iterable și Stream.

În cadrul metodei forEach() am folosit System.out care este o referință la un obiect. Reprezintă fluxul de ieșire standard. Are o metodă numită println(). Este o metodă supraîncărcată care poate accepta orice ca argument. Când punem metoda println() după operatorul de acces membru (::), aceasta devine o expresie.

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

Ieșire:

 Java C C++ Python Perl