logo

Як ітерувати список у Java

У Java, Список є інтерфейсом Рамка колекції . Це забезпечує нам підтримку впорядкованої колекції об’єктів. Класи реалізації інтерфейсу List є ArrayList, LinkedList, Stack , і Вектор . ArrayList і LinkedList широко використовуються в Java . У цьому розділі ми дізнаємося як ітерувати список у Java . У цьому розділі ми будемо використовувати ArrayList .

Java для циклу

  1. Базовий для циклу
  2. Покращено для циклу

Ітератори Java

  1. Ітератор
  2. ListIterator

Метод Java forEach

дата javascript
  1. Iterable.forEach()
  2. Stream.forEach()

Java для циклу

Базовий для циклу

Цикл Java for є найпоширенішим циклом керування потоком для ітерації. Цикл for містить змінну, яка діє як номер індексу. Він виконується, доки весь список не буде повторюватися.

Синтаксис:

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

Покращено для циклу

Він схожий на базовий цикл for. Він компактний, легкий і читабельний. Він широко використовується для виконання обходу списку. Це легко порівняно з базовим циклом for.

машинна мова

Синтаксис:

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

Вихід

 Boston San Diego Las Vegas Houston Miami Austin 

Ітератор Java

Ітератор

Java надає інтерфейс Iterator до повторити над колекціями, такими як List, Map тощо. Він містить два ключові методи next() і hasNaxt(), які дозволяють нам виконувати ітерацію над List.

наступний(): Метод next() виконує ітерацію в прямому порядку. Він повертає наступний елемент у списку. Це кидає NoSuchElementException якщо ітерація не містить наступного елемента в списку. Цей метод можна викликати неодноразово для перебору списку або змішувати з викликами попереднього() для переходу вперед і назад.

Синтаксис:

 E next() 

hasNext(): Метод hasNext() допомагає нам знайти останній елемент списку. Він перевіряє, чи є у списку наступний елемент чи ні. Якщо метод hasNext() отримує елемент під час обходу в прямому напрямку, повертає true, інакше повертає false і припиняє виконання.

різниця між льодом і снігом

Синтаксис:

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

Вихід

 Boston San Diego Las Vegas Houston Miami Austin 

ListIterator

ListIterator також є інтерфейсом, який належить пакету java.util. Він розширюється Ітератор інтерфейс. Це дозволяє нам переглядати список у прямому або зворотному порядку. Попередня ітерація списку забезпечує той самий механізм, що й ітератор. Ми використовуємо метод next() і hasNext() інтерфейсу Iterator для перебору списку.

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

Вихід

 Boston San Diego Las Vegas Houston Miami Austin 

Метод Java forEach

Iterable.forEach()

Інтерфейс Iterable надає метод forEach() для перебору списку. Він доступний, починаючи з Java 8. Він виконує вказану дію для кожного елемента, доки всі елементи не будуть оброблені або дія не викличе виняткову ситуацію. Він також приймає лямбда-вирази як параметр.

підручник з реагування на js

Синтаксис:

 default void forEach(Consumer action) 

Стандартна реалізація поводиться так:

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

Це приймає дію як параметр, тобто невтручання (означає, що джерело даних взагалі не змінюється під час виконання конвеєра потоку) дію, яку потрібно виконати над елементами. Це кидає NullPointerException якщо вказана дія нульова.

The Споживач це функціональний інтерфейс, який можна використовувати як ціль призначення для лямбда-виразу або посилання на метод. T — тип введення в операцію. Він представляє операцію, яка приймає один вхідний аргумент і не повертає результату.

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

Вихід

 Boston San Diego Las Vegas Houston Miami Austin 

Stream.forEach()

Інтерфейс Java Stream дозволяє нам перетворювати значення списку в потік. За допомогою інтерфейсу Stream ми можемо отримати доступ до таких операцій, як forEach(), map() і filter().

Синтаксис:

іменування для java
 void forEach(Consumer action) 

Це приймає дію як параметр, тобто невтручання (означає, що джерело даних взагалі не змінюється під час виконання конвеєра потоку) дію, яку потрібно виконати над елементами.

The Споживач це функціональний інтерфейс, який можна використовувати як ціль призначення для лямбда-виразу або посилання на метод. T — тип введення в операцію. Він представляє операцію, яка приймає один вхідний аргумент і не повертає результату.

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

Вихід

 Boston San Diego Las Vegas Houston Miami Austin