Java で配列をリストに変換する方法

Hassan Saeed 2023年10月12日
  1. 空のリストを作成し、すべての要素を追加する
  2. Java で配列をリストに変換するには Arrays.asList() を使用する
  3. Java で配列をリストに変換するには new ArrayList<>(Arrays.asList(arr)) を使用する
Java で配列をリストに変換する方法

このチュートリアルでは、Java で配列をリストに変換する 3つの方法について説明します。

空のリストを作成し、すべての要素を追加する

これは非常に些細で明白な方法です。空のリストを作成し、配列内のすべての要素をループして、リストに追加することができます。

以下の例はこれを示しています。

import java.util.*;
import java.util.stream.*;

public class MyClass {
  public static void main(String args[]) {
    String[] myArray = new String[] {"1", "2", "3"};
    List<String> myList = new ArrayList<>();
    for (int i = 0; i < myArray.length; i++) {
      myList.add(myArray[i]);
    }
    System.out.println(myList);
  }
}

この結果は次のようになります。

> [1, 2, 3]

Java で配列をリストに変換するには Arrays.asList() を使用する

配列をリストに変換するには、Arrays クラスが提供する組み込みのメソッドを使用することができます - Arrays.asList(arr)。コードの中で java.util.* をインポートするようにしてください。

以下の例はこれを示しています。

import java.util.*;

public class MyClass {
  public static void main(String args[]) {
    String[] myArray = new String[] {"1", "2", "3"};
    List<String> myList = Arrays.asList(myArray);
    System.out.println(myList);
  }
}

この結果は次のようになります。

> [1, 2, 3]

しかし、このメソッドはサイズが固定されたリストになり、それ以上の要素を追加することはできません。

import java.util.*;

public class MyClass {
  public static void main(String args[]) {
    String[] myArray = new String[] {"1", "2", "3"};
    List<String> myList = Arrays.asList(myArray);
    myList.add("4");
  }
}

この結果は次のようになります。

> Exception in thread "main" java.lang.UnsupportedOperationException
	at java.base/java.util.AbstractList.add(AbstractList.java:153)
	at java.base/java.util.AbstractList.add(AbstractList.java:111)
	at MyClass.main(MyClass.java:6)

Java で配列をリストに変換するには new ArrayList<>(Arrays.asList(arr)) を使用する

このメソッド new ArrayList<>(Arrays.asList(integers)); は、配列をリストに変換し、そのリストに要素を追加することができます。配列をリストに変換して追加することもできます。以下の例では、これを説明しています。

import java.util.*;

public class MyClass {
  public static void main(String args[]) {
    String[] myArray = new String[] {"1", "2", "3"};
    List<String> myList = new ArrayList<>(Arrays.asList(myArray));
    System.out.println("After conversion from array to list: " + myList);
    myList.add("4");
    System.out.println("After adding a new element: " + myList);
  }
}

この結果は次のようになります。

> After conversion from array to list: [1, 2, 3]
> After adding a new element: [1, 2, 3, 4]

関連記事 - Java Array

関連記事 - Java List