logo

Cómo imprimir una matriz en Java

Una matriz Java es una estructura de datos donde podemos almacenar los elementos del mismo tipo de datos. Los elementos de una matriz se almacenan en una ubicación de memoria contigua. Entonces, podemos almacenar un conjunto fijo de elementos en una matriz.

Existen las siguientes formas de imprimir una matriz en Java:

  • Java para bucle
  • Java para cada bucle
  • Java matrices.toString() método
  • Java Arrays.deepToString() método
  • Java matrices.asList() método
  • Java Iterador Interfaz
  • Java Arroyo API

Java para bucle

Java para El bucle se utiliza para ejecutar un conjunto de declaraciones repetidamente hasta que se cumpla una condición particular.

cadena en char java

Sintaxis:

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

Ejemplo de bucle for

En el siguiente ejemplo, hemos creado una matriz de longitud cuatro y hemos inicializado elementos en ella. Hemos utilizado el bucle for para recuperar los valores de la matriz. Es la forma más popular de imprimir matrices en 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 bucle

Java para cada El bucle también se utiliza para recorrer una matriz o colección. Funciona en base a elementos. Devuelve elementos uno por uno en la variable definida.

Sintaxis:

 for(Type var:array) 

Ejemplo de bucle para cada

En el siguiente ejemplo, hemos creado una matriz de tipo Cadena de longitud cuatro e inicializamos elementos en ella. Hemos utilizado el bucle for-each para recorrer la matriz.

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

Producción:

 Delhi Jaipur Gujarat Mumbai 

Método Java Arrays.toString()

Java matrices.toString() es un método estático de matrices clase a la que pertenece java.util paquete Contiene varios métodos para manipular matrices.

Sintaxis:

 public static String toString(int[] a) 

Acepta una matriz de cualquier tipo primitivo como argumento. Devuelve un cadena representación de una matriz que contiene una lista de elementos de la matriz. Los elementos de una matriz se convierten en String mediante Cadena.valorDe(int) .

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

Producción:

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

Método Java Arrays.deepToString()

El cadena profunda() El método de la clase Java Arrays está diseñado para convertir matrices multidimensionales en cadenas.

Sintaxis:

 public static String deepToString(Object[] a) 

Acepta una matriz como parámetro. Devuelve la representación en cadena de una matriz.

Ejemplo de método deepToString()

En el siguiente ejemplo, hemos creado una matriz bidimensional de tipo flotante.

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

Producción:

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

Método Java Arrays.asList()

Java matrices.asList() es un método estático de Java matrices clase a la que pertenece java.util paquete. Actúa como un puente entre la API basada en matrices y la API basada en colecciones.

Sintaxis:

 public static ListasList(T...a) 

El método también proporciona una manera fácil de crear una lista de tamaño fijo inicializada para que contenga muchos elementos.

 List obj=Arrays.toString(array[] a 

Acepta una matriz como argumento. Devuelve la vista de lista de una matriz.

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

Producción:

 [Hello, Java, Programmers] 

Interfaz del iterador Java

Java Iterador es una interfaz que pertenece a java.util paquete. El objeto Iterador se puede crear llamando al método iterador(). Está presente en la interfaz de Colección. Devuelve un iterador.

Ejemplo de interfaz iterador

En el siguiente ejemplo, declaramos una matriz e inicializamos elementos en ella. Primero convertimos la matriz especificada en una lista usando el método Arrays.asList() porque el iterador nos permite recorrer la colección y luego invocar el método iterador() de la clase de colección.

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

Producción:

 1.5 2.6 3.7 4.8 5.9 

API de flujo de Java

Un Java Stream es una estructura de datos que se calcula bajo demanda. No almacena datos. Opera en la estructura de datos de origen, como colección y matriz. La API de flujo de Java se utiliza para implementar la iteración interna. Proporciona varias características, como la ejecución secuencial y paralela.

Método de secuencia Java ()

Java arroyo() es un método estático de Java matrices clase que pertenece al paquete java.util. Se utiliza para obtener un flujo secuencial de una matriz.

Sintaxis:

 public static Stream stream(T[] array) 

Dónde t es el tipo de matriz. El método acepta una formación cuyos elementos se van a convertir en una secuencia secuencial. Devuelve un secuencial IntStream con la matriz especificada como fuente.

Método Java para cada()

Es una operación terminal. No garantiza respetar el orden de encuentro del stream.

Sintaxis:

 void forEach(Consumer action) 

El método acepta una acción como parámetro. Es una acción que no interfiere sobre cada elemento. No devuelve nada.

Hay dos operaciones de terminal que podemos aplicar a una secuencia para imprimir una matriz.

Obtener un iterador para la secuencia

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

Usando flujo().forEach()

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

Ejemplo de método stream.forEach()

En el siguiente ejemplo, hemos utilizado una forma diferente de imprimir una matriz. El método forEach() se utiliza para iterar sobre cada elemento de la secuencia. Se define en la interfaz Iterable y Stream.

Dentro del método forEach() hemos utilizado System.out que es una referencia a un objeto. Representa un flujo de salida estándar. Tiene un método llamado println(). Es un método sobrecargado que puede aceptar cualquier cosa como argumento. Cuando colocamos el método println() después del operador de acceso a miembros (::), se convierte en una expresión.

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

Producción:

 Java C C++ Python Perl