logo

Como imprimir array em Java

Array Java é uma estrutura de dados onde podemos armazenar os elementos do mesmo tipo de dados. Os elementos de um array são armazenados em um local de memória contíguo. Portanto, podemos armazenar um conjunto fixo de elementos em um array.

Existem as seguintes maneiras de imprimir um array em Java:

  • Java para laço
  • Java para cada laço
  • Java Arrays.toString() método
  • Java Arrays.deepToString() método
  • Java Arrays.asList() método
  • Java Iterador Interface
  • Java Fluxo API

Java para loop

Java para loop é usado para executar um conjunto de instruções repetidamente até que uma condição específica seja satisfeita.

string para char em java

Sintaxe:

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

Exemplo de loop for

No exemplo a seguir, criamos um array de comprimento quatro e inicializamos elementos nele. Usamos o loop for para buscar os valores do array. É a forma mais popular de imprimir array em 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 para cada loop

Java para cada loop também é usado para percorrer um array ou coleção. Funciona com base em elementos. Ele retorna os elementos um por um na variável definida.

Sintaxe:

 for(Type var:array) 

Exemplo de loop para cada

No exemplo a seguir, criamos um array do tipo String de comprimento quatro e inicializamos elementos nele. Usamos o loop for-each para percorrer o 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); } } } 

Saída:

 Delhi Jaipur Gujarat Mumbai 

Método Java Arrays.toString()

Java Arrays.toString() é um método estático de Matrizes classe que pertence java.util pacote Ele contém vários métodos para manipular array.

Sintaxe:

 public static String toString(int[] a) 

Ele aceita um array de qualquer tipo primitivo como argumento. Ele retorna um corda representação de um array que contém uma lista de elementos do array. Os elementos de um array são convertidos em String por String.valueOf(int) .

Exemplo do método 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)); } } 

Saída:

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

Método Java Arrays.deepToString()

O deepToString() O método da classe Java Arrays foi projetado para converter arrays multidimensionais em strings.

Sintaxe:

 public static String deepToString(Object[] a) 

Ele aceita um array como parâmetro. Ele retorna a representação String de um array.

Exemplo do método deepToString()

No exemplo a seguir, criamos um array bidimensional do 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)); } } 

Saída:

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

Método Java Arrays.asList()

Java Arrays.asList() é um método estático de Java Matrizes classe que pertence java.util pacote. Ele atua como uma ponte entre API baseada em array e API baseada em coleção.

Sintaxe:

 public static ListasList(T...a) 

O método também fornece uma maneira fácil de criar uma inicialização de lista de tamanho fixo para conter muitos elementos.

 List obj=Arrays.toString(array[] a 

Ele aceita um array como argumento. Ele retorna a visualização de lista de um array.

Exemplo de método 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)); } 

Saída:

 [Hello, Java, Programmers] 

Interface do Iterador Java

Java Iterador é uma interface que pertence a java.util pacote. O objeto Iterator pode ser criado chamando o método iterator(). Está presente na interface da Coleção. Ele retorna um iterador.

Exemplo de interface do Iterador

No exemplo a seguir, declaramos um array e inicializamos elementos nele. Primeiro convertemos o array especificado em lista usando o método Arrays.asList() porque o iterador nos permite percorrer a coleção e então invocar o método iterator() da classe de coleção.

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

Saída:

 1.5 2.6 3.7 4.8 5.9 

API de fluxo Java

Um Java Stream é uma estrutura de dados que é computada sob demanda. Não armazena dados. Ele opera na estrutura de dados de origem, como coleção e array. A API de fluxo Java é usada para implementar a iteração interna. Ele fornece vários recursos, como execução sequencial e paralela.

Método Java stream()

Java fluxo() é um método estático de Java Matrizes classe que pertence ao pacote java.util. É usado para obter um fluxo sequencial de um array.

Sintaxe:

 public static Stream stream(T[] array) 

Onde T é o tipo de matriz. O método aceita um variedade cujos elementos devem ser convertidos em um fluxo sequencial. Ele retorna uma sequência IntStream com a matriz especificada como sua origem.

Método Java forEach()

É uma operação terminal. Não garante respeitar a ordem de encontro do stream.

Sintaxe:

 void forEach(Consumer action) 

O método aceita um Ação como parâmetro. É uma ação não interferente executada em cada elemento. Não retorna nada.

Existem duas operações de terminal que podemos aplicar a um fluxo para imprimir um array.

Obtenha um iterador para o stream

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

Usando stream().forEach()

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

Exemplo de método stream.forEach()

No exemplo a seguir, usamos uma maneira diferente de imprimir um array. O método forEach() é usado para iterar cada elemento do fluxo. É definido na interface Iterable e Stream.

Dentro do método forEach() usamos System.out que é uma referência a um objeto. Representa o fluxo de saída padrão. Possui um método chamado println(). É um método sobrecarregado que pode aceitar qualquer coisa como argumento. Quando colocamos o método println() após o operador de acesso ao membro (::), ele se torna uma expressão.

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

Saída:

 Java C C++ Python Perl