JavaでArrayListをループ処理する5つの方法を徹底解説
このチュートリアルでは、JavaでArrayListを反復処理(イテレーション)する5つの異なる方法を紹介します。Java 8以降では、forEachメソッドやIteratorクラスを使ってArrayListをループ処理することも可能です。
ArrayListをループ処理する主な方法
ArrayListをループ処理する方法は、主に以下の5つがあります。
- 従来のfor文(クラシックForループ)
- 拡張for文
- Iterator(イテレータ)
- while文
- forEachメソッド(Java 8)
まずは、各ループの例で使用するArrayListを作成しましょう。
import java.util.ArrayList;
import java.util.List;
public class LoopOverArrayExamples {
private List fruitBasket = new ArrayList<>(0);
public void addFruitsToBasket() {
fruitBasket.add("Apple");
fruitBasket.add("Banana");
fruitBasket.add("Pear");
fruitBasket.add("Mango");
}
}
- JavaでMapをループ処理する方法
- Javaで2つのArrayListを比較する方法
- JavaでListを配列に変換する方法
1. 従来のfor文を使用する
インデックスを使って要素にアクセスする、最も基本的なループ方法です。インデックス番号が必要な場合に便利です。
for (int i=0; i<fruitBasket.size(); i++) {
System.out.println(fruitBasket.get(i));
}
2. 拡張for文
Java 5から導入された構文で、コードが簡潔になり可読性も高いため、最も広く使われている方法です。
for(String fruit : fruitBasket) {
System.out.println(fruit);
}
3. Iteratorを使用する
Iteratorを使うと、ループ中に要素を安全に削除できるなど、柔軟な操作が可能になります。
Iterator fruitIterator = fruitBasket.iterator();
while (fruitIterator.hasNext()) {
System.out.println(fruitIterator.next());
}
4. while文を使用する
条件式を自分で制御したい場合に有効な方法です。for文と同様にインデックスを使って要素へアクセスします。
int i = 0;
while (i < fruitBasket.size()) {
System.out.println(fruitBasket.get(i));
i++;
}
5. forEachメソッド(Java 8)
Java 8で導入されたラムダ式を使ったモダンな書き方です。簡潔に記述でき、Stream APIとも相性が良いのが特徴です。
fruitBasket.forEach( (fruit) ->
System.out.println(fruit)
);
-
Javaで文字(Character)のリストを文字列に変換する方法
Javaでは、Stream APIとCollectors.joining()を組み合わせることで、文字(Character)のリストを簡単に1つの文字列へ変換できます。この記事では、その基本的な手順とサンプルコードをわかりやすく解説します。 変換の手順 まず、次のような文字のリストがあったとします。 List<Character> list = Arrays.asList(W, e, l, c, o, m, e); このリストを文字列に変換するには、以下のようにstream()、map()、Collectors.joining()を使用します。 String string = li
-
JavaでList(リスト)を配列に変換する方法|toArray()とArrays.asList()の使い方
Javaの開発において、List(リスト)と配列(Array)の相互変換は非常によく使われる基本的な操作です。 Listを配列に変換する最も簡単かつ推奨される方法は、.toArray()メソッドを使うことです。逆に、配列をListに戻したい場合は、Arrays.asList()メソッドを使用します。 以下では、文字列(String)のListや整数(Integer)のListを、それぞれ対応する配列に変換する具体例を紹介します。 String型のListを配列に変換する import java.util.ArrayList; import java.util.List; public cl