logo

Come stampare un array in Java

L'array Java è una struttura dati in cui possiamo memorizzare gli elementi dello stesso tipo di dati. Gli elementi di un array vengono archiviati in una posizione di memoria contigua. Quindi, possiamo memorizzare un insieme fisso di elementi in un array.

Esistono i seguenti modi per stampare un array in Java:

  • Giava per ciclo continuo
  • Giava per ciascuno ciclo continuo
  • Giava Array.toString() metodo
  • Giava Array.deepToString() metodo
  • Giava Array.asList() metodo
  • Giava Iteratore Interfaccia
  • Giava Flusso API

Ciclo Java per

Giava per Il ciclo viene utilizzato per eseguire ripetutamente una serie di istruzioni finché non viene soddisfatta una particolare condizione.

topologie di rete

Sintassi:

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

Esempio di ciclo for

Nell'esempio seguente, abbiamo creato un array di lunghezza quattro e inizializzato gli elementi al suo interno. Abbiamo utilizzato il ciclo for per recuperare i valori dall'array. È il modo più popolare per stampare array in 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 per ogni ciclo

Giava per ciascuno loop viene utilizzato anche per attraversare un array o una raccolta. Funziona sulla base di elementi. Restituisce gli elementi uno per uno nella variabile definita.

Sintassi:

 for(Type var:array) 

Esempio di ciclo for-each

Nell'esempio seguente, abbiamo creato un array di tipo String di lunghezza quattro e inizializzato gli elementi al suo interno. Abbiamo utilizzato il ciclo for-each per attraversare l'array.

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

Produzione:

 Delhi Jaipur Gujarat Mumbai 

Metodo Java Arrays.toString()

Giava Array.toString() è un metodo statico di Array classe a cui appartiene java.util pacchetto Contiene vari metodi per manipolare l'array.

Sintassi:

 public static String toString(int[] a) 

Accetta come argomento un array di qualsiasi tipo primitivo. Restituisce a corda rappresentazione di un array che contiene un elenco di elementi dell'array. Gli elementi di un array vengono convertiti in String da String.valueOf(int) .

Esempio del metodo 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)); } } 

Produzione:

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

Metodo Java Arrays.deepToString()

IL deepToString() Il metodo della classe Java Arrays è progettato per convertire array multidimensionali in stringhe.

Sintassi:

 public static String deepToString(Object[] a) 

Accetta un array come parametro. Restituisce la rappresentazione String di un array.

Esempio del metodo deepToString()

Nell'esempio seguente, abbiamo creato un array bidimensionale di tipo 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)); } } 

Produzione:

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

Metodo Java Arrays.asList()

Giava Array.asList() è un metodo statico di Java Array classe a cui appartiene java.util pacchetto. Funziona come un ponte tra l'API basata su array e quella basata su raccolta.

Sintassi:

 public static ListasList(T...a) 

Il metodo fornisce inoltre un modo semplice per creare un elenco di dimensioni fisse inizializzato per contenere molti elementi.

 List obj=Arrays.toString(array[] a 

Accetta un array come argomento. Restituisce la visualizzazione elenco di un array.

Esempio del metodo 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)); } 

Produzione:

 [Hello, Java, Programmers] 

Interfaccia dell'iteratore Java

Giava Iteratore è un'interfaccia che appartiene a java.util pacchetto. L'oggetto Iterator può essere creato chiamando il metodo iterator(). È presente nell'interfaccia Collezione. Restituisce un iteratore.

Esempio di interfaccia Iterator

Nell'esempio seguente, dichiariamo un array e inizializziamo gli elementi al suo interno. Per prima cosa convertiamo l'array specificato in un elenco utilizzando il metodo Arrays.asList() perché l'iteratore ci consente di attraversare la raccolta e quindi invocare il metodo iterator() della classe di raccolta.

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

Produzione:

 1.5 2.6 3.7 4.8 5.9 

API del flusso Java

Un Java Stream è una struttura dati calcolata su richiesta. Non memorizza dati. Funziona sulla struttura dei dati di origine come raccolta e array. L'API Java stream viene utilizzata per implementare l'iterazione interna. Fornisce diverse funzionalità come l'esecuzione sequenziale e parallela.

Metodo Java stream()

Giava flusso() è un metodo statico di Java Array classe che appartiene al pacchetto java.util. Viene utilizzato per ottenere un flusso sequenziale di un array.

Sintassi:

 public static Stream stream(T[] array) 

Dove T è il tipo di array. Il metodo accetta un vettore i cui elementi devono essere convertiti in un flusso sequenziale. Restituisce un sequenziale IntStream con l'array specificato come origine.

Metodo Java forEach()

È un'operazione terminale. Non garantisce il rispetto dell'ordine degli incontri nello stream.

Sintassi:

 void forEach(Consumer action) 

Il metodo accetta un azione come parametro. Si tratta di un'azione non interferente eseguita su ciascun elemento. Non restituisce nulla.

Esistono due operazioni terminali che possiamo applicare a uno stream per stampare un array.

Ottieni un iteratore per lo stream

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

Utilizzando stream().forEach()

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

Esempio del metodo stream.forEach()

Nell'esempio seguente, abbiamo utilizzato un modo diverso per stampare un array. Il metodo forEach() viene utilizzato per scorrere ogni elemento dello stream. È definito nell'interfaccia Iterable e Stream.

All'interno del metodo forEach() abbiamo utilizzato System.out che è un riferimento ad un oggetto. Rappresenta il flusso di output standard. Ha un metodo chiamato println(). È un metodo sovraccarico che può accettare qualsiasi cosa come argomento. Quando inseriamo il metodo println() dopo l'operatore di accesso ai membri (::), diventa un'espressione.

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

Produzione:

 Java C C++ Python Perl