Java - ArrayListの巡回、4つの方法

JavaでArrayListのすべての要素を巡回してデータにアクセスする方法を紹介します。

1. for 文で ArrayList 巡回

最も簡単な方法は、 for 繰り返し文で ArrayList のすべての要素を巡回することです。

import java.util.ArrayList;
import java.util.Arrays;

public class Example {

    public static void main(String[] args) {

        ArrayList<String> list = new ArrayList<>(Arrays.asList("a", "b", "c", "d", "e"));

        for (String element : list) {
            System.out.println("element: " + element);
        }
    }
}

Output:

element: a
element: b
element: c
element: d
element: e

もしIndexが必要な場合は、以下のようにIndexとともにfor文ですべての要素を巡回するように実装すればよい。

import java.util.ArrayList;
import java.util.Arrays;

public class Example1 {

    public static void main(String[] args) {

        ArrayList<String> list = new ArrayList<>(Arrays.asList("a", "b", "c", "d", "e"));

        for (int i = 0; i < list.size(); i++) {
            System.out.println("index: " + i + ", element: " + list.get(i));
        }
    }
}

Output:

index: 0, element: a
index: 1, element: b
index: 2, element: c
index: 3, element: d
index: 4, element: e

2. forEach() で ArrayList 巡回

以下のように forEach() を使ってすべての要素を巡回することもできます。

import java.util.ArrayList;
import java.util.Arrays;

public class Example2 {

    public static void main(String[] args) {

        ArrayList<String> list = new ArrayList<>(Arrays.asList("a", "b", "c", "d", "e"));

        list.forEach((element) -> {
            System.out.println("element: " + element);
        });
    }
}

Output:

element: a
element: b
element: c
element: d
element: e

forEach()関数型インタフェース とともに使用できますが、

System.outの事前定義されたメソッドリファレンスを使用すると、以下のように短いコードで要素を出力できます。

import java.util.ArrayList;
import java.util.Arrays;

public class Example2 {

    public static void main(String[] args) {

        ArrayList<String> list = new ArrayList<>(Arrays.asList("a", "b", "c", "d", "e"));

        // With a method reference
        list.forEach(System.out::println);
    }
}

Output:

a
b
c
d
e

3. IteratorでArrayListの巡回

ArrayList.iterator() は Iterator オブジェクトを返し、反復文と Iterator オブジェクトを利用してすべての要素を巡回できます。

import java.util.ArrayList;
import java.util.Arrays;
import java.util.Iterator;

public class Example3 {

    public static void main(String[] args) {

        ArrayList<String> list = new ArrayList<>(Arrays.asList("a", "b", "c", "d", "e"));

        Iterator<String> it = list.iterator();
        while (it.hasNext()) {
            System.out.println("element: " + it.next());
        }
    }
}

Output:

element: a
element: b
element: c
element: d
element: e

4. StreamによるArrayListの巡回

List.stream() は List を Stream にし、 forEach() を利用して Stream に渡されるすべての要素を処理できます。

import java.util.ArrayList;
import java.util.Arrays;

public class Example4 {

    public static void main(String[] args) {

        ArrayList<String> list = new ArrayList<>(Arrays.asList("a", "b", "c", "d", "e"));

        list.stream().forEach((element) -> System.out.println("element: " + element));
    }
}

Output:

element: a
element: b
element: c
element: d
element: e

Related Posts

codechachaCopyright ©2019 codechacha