logo

Javaでリストを反復する方法

Javaでは、 リスト のインターフェースです 収集フレームワーク 。これにより、オブジェクトの順序付けられたコレクションを維持できるようになります。 Listインターフェースの実装クラスは以下の通りです。 配列リスト、リンクリスト、スタック 、 そして ベクター 。 ArrayList と LinkedList は広く使用されています。 ジャワ 。このセクションでは、次のことを学びます Javaでリストを反復する方法 。このセクション全体で、以下を使用します。 配列リスト

Java for ループ

  1. 基本的な for ループ
  2. 拡張された for ループ

Java イテレータ

a b c 数字
  1. イテレーター
  2. リスト反復子

Java forEach メソッド

  1. Iterable.forEach()
  2. Stream.forEach()

Java for ループ

基本的な for ループ

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 ループに比べて簡単です。

構文:

 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 に対して反復を実行できる 2 つの主要なメソッド next() と hasNaxt() が含まれています。

次(): next() メソッドは、反復を順方向に実行します。リスト内の次の要素を返します。投げる NoSuchElementException 反復にリスト内の次の要素が含まれていない場合。このメソッドは、リストを反復処理するために繰り返し呼び出したり、previous() の呼び出しと混ぜて前後に呼び出したりすることができます。

構文:

 E next() 

hasNext(): hasNext() メソッドは、リストの最後の要素を見つけるのに役立ちます。 List に次の要素があるかどうかを確認します。 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()); } } } 

出力

sedコマンド
 Boston San Diego Las Vegas Houston Miami Austin 

リスト反復子

ListIterator も java.util パッケージに属するインターフェイスです。伸びる イテレーター インターフェース。これにより、リストを前方または後方の順序で反復処理できるようになります。 List に対する前方反復は、Iterator で使用されるのと同じメカニズムを提供します。 Iterator インターフェイスの next() メソッドと hasNext() メソッドを使用して List を反復処理します。

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 インターフェイスは、List を反復処理するための forEach() メソッドを提供します。 Java 8 以降で利用可能です。すべての要素が処理されるまで、またはアクションが例外をスローするまで、各要素に対して指定されたアクションを実行します。また、ラムダ式をパラメータとして受け入れます。

ランタイムエラー

構文:

 default void forEach(Consumer action) 

デフォルトの実装は次のように動作します。

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

受け付けます アクション パラメータとして 干渉しない (ストリーム パイプラインの実行中にデータ ソースがまったく変更されないことを意味します) 要素に対して実行するアクション。投げる NullPointerException 指定されたアクションが null の場合。

消費者 は、ラムダ式またはメソッド参照の代入ターゲットとして使用できる関数インターフェイスです。 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 インターフェイスを使用すると、List 値をストリームに変換できます。 Stream インターフェイスを使用すると、forEach()、map()、filter() などの操作にアクセスできます。

メソッドの部分文字列 Java

構文:

 void forEach(Consumer action) 

受け付けます アクション パラメータとして 干渉しない (ストリーム パイプラインの実行中にデータ ソースがまったく変更されないことを意味します) 要素に対して実行するアクション。

消費者 は、ラムダ式またはメソッド参照の代入ターゲットとして使用できる関数インターフェイスです。 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