HOWTO · Java

Java でリストを ArrayList に変換する

Java で List を ArrayList に変換するアプローチ。

このページの内容

このガイドでは、Java でリストを ArrayList に変換する方法について説明しました。ただし、その前に、Java の基本的な概念のいくつかに精通している必要があります。リストはインターフェース Collection によって実装され、ArrayList は List の実装されたクラスであることを理解する必要があります。

Java で List を ArrayList に変換する

以下の例を見てみましょう。

import java.util.*;
public class Hello {
  public static void main(String[] args) {
    // Let's make a List first.
    List<String> MyList = (List<String>) Arrays.asList("Hello", "World");
  }
}

ご覧のとおり、上記のリストには 2つの文字列要素が含まれています。ここで、Arrays.asList は、オブジェクトの配列をリストに変換するために使用される静的メソッドです。このリストを ArrayList に変換する方法を見てみましょう。

配列クラスの詳細については、こちらを参照します。

import java.util.*;
public class Hello {
  public static void main(String[] args) {
    // Let's make a List first.
    List<String> MyList = (List<String>) Arrays.asList("Hello", "World");
    ArrayList<String> a1 = new ArrayList<String>(MyList);
  }
}

このアプローチでは、事前定義された値を特徴とする ArrayList を実際に初期化しています。Arrays.asList 静的メソッドを使用して、2つの要素でリストを作成しただけです。その後、ArrayList のコンストラクターを使用し、事前定義された値でインスタンス化しました。詳細 ArrayList とそのメソッドおよびその他のプロパティについて。

つまり、要素を含む配列があり、それを List に変換し、後でそのリストを ArrayList に変換しました。何が起こっているのかを理解するために、以下の例を見てください。

import java.util.*;
public class Hello {
  public static void main(String[] args) {
    String arr[] = {"1", "2", "3"};
    List<String> MyList = (List<String>) Arrays.asList(arr);

    // now we are converting list into arraylist
    ArrayList<String> a1 = new ArrayList<String>(MyList);
    for (int i = 0; i < a1.size(); i++) {
      System.out.println(a1.get(i));
    }
  }
}

上記のプログラムでは、最初に値を初期化する配列を作成しました。後で、最初の例と同じように、値を指定する代わりに配列を渡し、Arrays.asList を使用してこのオブジェクトの配列をリストに変換しました。

Arrays.asList から取得したリストは変更できません。これは単なるラッパーであり、追加または削除することはできません。やってみても

UnsupportedOperationException

ここでの問題は、リストを ArrayList に変換することであるため、List から ArrayList をインスタンス化しました。上記のプログラムの出力:

1
2
3

これが、Java でリストを配列リストに変換する方法です。