logo

Cómo iterar una lista en Java

En Java, Lista Esta es una interfaz del Marco de colección . Nos proporciona mantener la colección ordenada de objetos. Las clases de implementación de la interfaz List son ArrayList, LinkedList, Pila , y Vector . ArrayList y LinkedList se utilizan ampliamente en Java . En esta sección aprenderemos cómo iterar una lista en Java . A lo largo de esta sección, usaremos Lista de arreglo .

gimp cómo anular la selección

Java para bucle

  1. Básico para bucle
  2. Bucle for mejorado

Iteradores de Java

  1. Iterador
  2. ListaIterador

Java para cada método

  1. Iterable.para cada()
  2. Corriente.para cada()

Java para bucle

Básico para bucle

Java para bucle es el bucle de control de flujo más común para la iteración. El bucle for contiene una variable que actúa como número de índice. Se ejecuta hasta que no se itera toda la Lista.

Sintaxis:

 for(initialization; condition; increment or decrement) { //body of the loop } 

IterateListExample1.java

 import java.util.*; public class IterateListExample1 { public static void main(String args[]) { //defining a List List city = Arrays.asList(&apos;Boston&apos;, &apos;San Diego&apos;, &apos;Las Vegas&apos;, &apos;Houston&apos;, &apos;Miami&apos;, &apos;Austin&apos;); //iterate list using for loop for (int i = 0; i <city.size(); i++) { prints the elements of list system.out.println(city.get(i)); } < pre> <p> <strong>Output</strong> </p> <pre> Boston San Diego Las Vegas Houston Miami Austin </pre> <h3>Enhanced for Loop</h3> <p>It is similar to the basic for loop. It is compact, easy, and readable. It is widely used to perform traversal over the List. It is easy in comparison to basic for loop.</p> <p> <strong>Syntax:</strong> </p> <pre> for(data_type variable : array | collection) { //body of the loop } </pre> <p> <strong>IterateListExample2.java</strong> </p> <pre> import java.util.*; public class IterateListExample2 { public static void main(String args[]) { //defining a List List city = Arrays.asList(&apos;Boston&apos;, &apos;San Diego&apos;, &apos;Las Vegas&apos;, &apos;Houston&apos;, &apos;Miami&apos;, &apos;Austin&apos;); //iteration over List using enhanced for loop for (String cities : city) { //prints the elements of the List System.out.println(cities); } } } </pre> <p> <strong>Output</strong> </p> <pre> Boston San Diego Las Vegas Houston Miami Austin </pre> <h2>Java Iterator</h2> <h3>Iterator</h3> <p> <a href="/iterator-java">Java provides an interface Iterator</a> to <strong>iterate</strong> over the Collections, such as List, Map, etc. It contains two key methods next() and hasNaxt() that allows us to perform an iteration over the List.</p> <p> <strong>next():</strong> The next() method perform the iteration in forward order. It returns the next element in the List. It throws <strong>NoSuchElementException</strong> if the iteration does not contain the next element in the List. This method may be called repeatedly to iterate through the list, or intermixed with calls to previous() to go back and forth.</p> <p> <strong>Syntax:</strong> </p> <pre> E next() </pre> <p> <strong>hasNext():</strong> The hasNext() method helps us to find the last element of the List. It checks if the List has the next element or not. If the hasNext() method gets the element during traversing in the forward direction, returns true, else returns false and terminate the execution.</p> <p> <strong>Syntax:</strong> </p> <pre> boolean hasNext() </pre> <p> <strong>IterateListExample3.java</strong> </p> <pre> import java.util.*; public class IterateListExample3 { public static void main(String args[]) { //defining a List List city = Arrays.asList(&apos;Boston&apos;, &apos;San Diego&apos;, &apos;Las Vegas&apos;, &apos;Houston&apos;, &apos;Miami&apos;, &apos;Austin&apos;); //iterate List using enhances for loop Iterator cityIterator = city.iterator(); //iterator over List using while loop while(cityIterator.hasNext()) { System.out.println(cityIterator.next()); } } } </pre> <p> <strong>Output</strong> </p> <pre> Boston San Diego Las Vegas Houston Miami Austin </pre> <h3>ListIterator</h3> <p>The ListIterator is also an interface that belongs to java.util package. It extends <strong>Iterator</strong> interface. It allows us to iterate over the List either in forward or backward order. The forward iteration over the List provides the same mechanism, as used by the Iterator. We use the next() and hasNext() method of the Iterator interface to iterate over the List.</p> <p> <strong>IterateListExample4.java</strong> </p> <pre> import java.util.*; public class IterateListExample4 { public static void main(String args[]) { //defining a List List city = Arrays.asList(&apos;Boston&apos;, &apos;San Diego&apos;, &apos;Las Vegas&apos;, &apos;Houston&apos;, &apos;Miami&apos;, &apos;Austin&apos;); //iterate List using the ListIterator ListIterator listIterator = city.listIterator(); while(listIterator.hasNext()) { //prints the elements of the List System.out.println(listIterator.next()); } } } </pre> <p> <strong>Output</strong> </p> <pre> Boston San Diego Las Vegas Houston Miami Austin </pre> <h2>Java forEach Method</h2> <h3>Iterable.forEach()</h3> <p>The Iterable interface provides forEach() method to iterate over the List. It is available since Java 8. It performs the specified action for each element until all elements have been processed or the action throws an exception. It also accepts Lambda expressions as a parameter.</p> <p> <strong>Syntax:</strong> </p> <pre> default void forEach(Consumer action) </pre> <p>The default implementation behaves like:</p> <pre> for (T t : this) action.accept(t); </pre> <p>It accepts <strong>action</strong> as a parameter that is <strong>non-interfering</strong> (means that the data source is not modified at all during the execution of the stream pipeline) action to perform on the elements. It throws <strong>NullPointerException</strong> if the specified action is null.</p> <p>The <strong>Consumer</strong> is a functional interface that can be used as the assignment target for a lambda expression or method reference. T is the type of input to the operation. It represents an operation that accepts a single input argument and returns no result.</p> <p> <strong>IterateListExample5.java</strong> </p> <pre> import java.util.*; public class IterateListExample5 { public static void main(String args[]) { //defining a List List city = Arrays.asList(&apos;Boston&apos;, &apos;San Diego&apos;, &apos;Las Vegas&apos;, &apos;Houston&apos;, &apos;Miami&apos;, &apos;Austin&apos;); //iterate List using forEach city.forEach(System.out::println); } } </pre> <p> <strong>Output</strong> </p> <pre> Boston San Diego Las Vegas Houston Miami Austin </pre> <h3>Stream.forEach()</h3> <p>Java Stream interface allows us to convert the List values into a stream. With the help of Stream interface we can access operations like forEach(), map(), and filter().</p> <p> <strong>Syntax:</strong> </p> <pre> void forEach(Consumer action) </pre> <p>It accepts <strong>action</strong> as a parameter that is <strong>non-interfering</strong> (means that the data source is not modified at all during the execution of the stream pipeline) action to perform on the elements.</p> <p>The <strong>Consumer</strong> is a functional interface that can be used as the assignment target for a lambda expression or method reference. T is the type of input to the operation. It represents an operation that accepts a single input argument and returns no result.</p> <p> <strong>IterateListExample5.java</strong> </p> <pre> import java.util.*; public class IterateListExample5 { public static void main(String args[]) { //defining a List List city = Arrays.asList(&apos;Boston&apos;, &apos;San Diego&apos;, &apos;Las Vegas&apos;, &apos;Houston&apos;, &apos;Miami&apos;, &apos;Austin&apos;); //iterate List using forEach loop city.stream().forEach((c) -&gt; System.out.println(c)); } } </pre> <p> <strong>Output</strong> </p> <pre> Boston San Diego Las Vegas Houston Miami Austin </pre> <hr></city.size();>

Bucle for mejorado

Es similar al bucle for básico. Es compacto, fácil y legible. Se utiliza ampliamente para realizar recorridos por la Lista. Es fácil en comparación con el bucle for básico.

Sintaxis:

 for(data_type variable : array | collection) { //body of the loop } 

IterateListExample2.java

 import java.util.*; public class IterateListExample2 { public static void main(String args[]) { //defining a List List city = Arrays.asList(&apos;Boston&apos;, &apos;San Diego&apos;, &apos;Las Vegas&apos;, &apos;Houston&apos;, &apos;Miami&apos;, &apos;Austin&apos;); //iteration over List using enhanced for loop for (String cities : city) { //prints the elements of the List System.out.println(cities); } } } 

Producción

 Boston San Diego Las Vegas Houston Miami Austin 

Iterador de Java

Iterador

Java proporciona una interfaz Iterador a iterar sobre las Colecciones, como Lista, Mapa, etc. Contiene dos métodos clave next() y hasNaxt() que nos permiten realizar una iteración sobre la Lista.

próximo(): El método next() realiza la iteración en orden directo. Devuelve el siguiente elemento de la Lista. arroja Ninguna excepción de elemento tal si la iteración no contiene el siguiente elemento de la Lista. Este método puede llamarse repetidamente para iterar a través de la lista, o entremezclarse con llamadas a anterior() para ir y venir.

Sintaxis:

 E next() 

tieneSiguiente(): El método hasNext() nos ayuda a encontrar el último elemento de la Lista. Comprueba si la Lista tiene el siguiente elemento o no. Si el método hasNext() obtiene el elemento durante el recorrido en dirección hacia adelante, devuelve verdadero; de lo contrario, devuelve falso y finaliza la ejecución.

Sintaxis:

 boolean hasNext() 

IterateListExample3.java

 import java.util.*; public class IterateListExample3 { public static void main(String args[]) { //defining a List List city = Arrays.asList(&apos;Boston&apos;, &apos;San Diego&apos;, &apos;Las Vegas&apos;, &apos;Houston&apos;, &apos;Miami&apos;, &apos;Austin&apos;); //iterate List using enhances for loop Iterator cityIterator = city.iterator(); //iterator over List using while loop while(cityIterator.hasNext()) { System.out.println(cityIterator.next()); } } } 

Producción

 Boston San Diego Las Vegas Houston Miami Austin 

ListaIterador

ListIterator también es una interfaz que pertenece al paquete java.util. se extiende Iterador interfaz. Nos permite iterar sobre la Lista ya sea en orden hacia adelante o hacia atrás. La iteración directa sobre la Lista proporciona el mismo mecanismo que el utilizado por el Iterador. Usamos el método next() y hasNext() de la interfaz Iterator para iterar sobre la Lista.

IterateListExample4.java

 import java.util.*; public class IterateListExample4 { public static void main(String args[]) { //defining a List List city = Arrays.asList(&apos;Boston&apos;, &apos;San Diego&apos;, &apos;Las Vegas&apos;, &apos;Houston&apos;, &apos;Miami&apos;, &apos;Austin&apos;); //iterate List using the ListIterator ListIterator listIterator = city.listIterator(); while(listIterator.hasNext()) { //prints the elements of the List System.out.println(listIterator.next()); } } } 

Producción

 Boston San Diego Las Vegas Houston Miami Austin 

Java para cada método

Iterable.para cada()

La interfaz Iterable proporciona el método forEach() para iterar sobre la Lista. Está disponible desde Java 8. Realiza la acción especificada para cada elemento hasta que se hayan procesado todos los elementos o la acción arroje una excepción. También acepta expresiones Lambda como parámetro.

sol soleado

Sintaxis:

 default void forEach(Consumer action) 

La implementación predeterminada se comporta así:

 for (T t : this) action.accept(t); 

se acepta acción como un parámetro que es no interferir (Significa que la fuente de datos no se modifica en absoluto durante la ejecución de la canalización de flujo) acción a realizar en los elementos. arroja Excepción de puntero nulo si la acción especificada es nula.

El Consumidor es una interfaz funcional que se puede utilizar como destino de asignación para una expresión lambda o referencia de método. T es el tipo de entrada a la operación. Representa una operación que acepta un único argumento de entrada y no devuelve ningún resultado.

IterateListExample5.java

 import java.util.*; public class IterateListExample5 { public static void main(String args[]) { //defining a List List city = Arrays.asList(&apos;Boston&apos;, &apos;San Diego&apos;, &apos;Las Vegas&apos;, &apos;Houston&apos;, &apos;Miami&apos;, &apos;Austin&apos;); //iterate List using forEach city.forEach(System.out::println); } } 

Producción

 Boston San Diego Las Vegas Houston Miami Austin 

Corriente.para cada()

La interfaz Java Stream nos permite convertir los valores de la Lista en una secuencia. Con la ayuda de la interfaz Stream podemos acceder a operaciones como forEach(), map() y filter().

Sintaxis:

 void forEach(Consumer action) 

se acepta acción como un parámetro que es no interferir (Significa que la fuente de datos no se modifica en absoluto durante la ejecución de la canalización de flujo) acción a realizar en los elementos.

¿cuanto pesa kat timpf?

El Consumidor es una interfaz funcional que se puede utilizar como destino de asignación para una expresión lambda o referencia de método. T es el tipo de entrada a la operación. Representa una operación que acepta un único argumento de entrada y no devuelve ningún resultado.

IterateListExample5.java

 import java.util.*; public class IterateListExample5 { public static void main(String args[]) { //defining a List List city = Arrays.asList(&apos;Boston&apos;, &apos;San Diego&apos;, &apos;Las Vegas&apos;, &apos;Houston&apos;, &apos;Miami&apos;, &apos;Austin&apos;); //iterate List using forEach loop city.stream().forEach((c) -&gt; System.out.println(c)); } } 

Producción

 Boston San Diego Las Vegas Houston Miami Austin