JavaでArrayList(List)を初期化するさまざまな方法を紹介します。
1. Arrays.asList() で ArrayList を初期化する
Arrays.asList(array)
は引数として渡された配列を List として生成して返します。 ArrayListオブジェクトとして返したい場合は、 new ArrayList<>(Arrays.asList(array))
のようにArrayListに変換してください。
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
public class Example {
public static void main(String[] args) {
List<String> list = Arrays.asList("apple", "grape", "banana", "kiwi");
System.out.println(list);
ArrayList<String> arrayList = new ArrayList<>(Arrays.asList("apple", "grape", "banana", "kiwi"));
System.out.println(arrayList);
}
}
Output:
[apple, grape, banana, kiwi]
[apple, grape, banana, kiwi]
2. List.of() で ArrayList を初期化する
Java 9では List.of()
が追加され、 Arrays.asList()
と同様に配列を引数として ArrayList を初期化できます。デフォルトではListオブジェクトとして返され、ArrayListとして返すには new ArrayList<String>()
のように変換する必要があります。
import java.util.ArrayList;
import java.util.List;
public class Example {
public static void main(String[] args) {
List<String> list = List.of("apple", "grape", "banana", "kiwi");
System.out.println(list);
ArrayList<String> arrayList = new ArrayList<String>(List.of("apple", "grape", "banana", "kiwi"));
System.out.println(arrayList);
}
}
Output:
[apple, grape, banana, kiwi]
3. Double Brace Initializationを使用したArrayListの初期化
Double Brace Initialization({{ ... }}
) を利用して ArrayList を初期化する方法があります。
通常、初期化後に要素を追加するには、以下のようにそれぞれ add()
を呼び出す必要があります。
import java.util.ArrayList;
public class Example1 {
public static void main(String[] args) {
ArrayList<String> list = new ArrayList<>();
list.add("apple");
list.add("grape");
list.add("banana");
list.add("kiwi");
System.out.println(list);
}
}
ただし、Double Brace Initializationを使用すると、上記の例よりも少ないコードでオブジェクトを生成すると同時に要素を初期化するコードを作成できます。
import java.util.ArrayList;
public class Example1 {
public static void main(String[] args) {
ArrayList<String> list = new ArrayList<String>() {{
add("apple");
add("grape");
add("banana");
add("kiwi");
}};
System.out.println(list);
}
}
Output:
[apple, grape, banana, kiwi]
Double Brace Initializationは、動作中に多くの匿名オブジェクトを作成すると言います。テストしてみると、私の場合は匿名オブジェクトを作成しないようですが、コンパイル中に最適化されているか、確認がうまくいかなかった可能性があります。詳細については、stackoverflowまたはbaeldungを参考にしていただければ幸いです。
4. StreamでArrayListを初期化する
Streamを使用してArrayListを初期化できます。以下のコードは、String配列の値をArrayListに追加する例です。
import java.util.ArrayList;
import java.util.stream.Collectors;
import java.util.stream.Stream;
public class Example2 {
public static void main(String[] args) {
String[] arr = new String[] { "apple", "grape", "banana", "kiwi" };
ArrayList<String> list = new ArrayList<>(Stream.of(arr)
.collect(Collectors.toList()));
System.out.println(list);
}
}
Output:
[apple, grape, banana, kiwi]
Related Posts
- Java - AtomicReference使用方法
- Java - CountDownLatchを使用する方法、および例
- Java - ScheduledThreadPoolExecutor使用方法
- Java - SummaryStatisticsの使用方法(count、min、max、average)
- Java8 - 関数型インタフェース (Functional Interface) について
- Java - String配列をint配列に変換する
- Java - ArrayList要素の値を変更する方法、replaceAll()
- Java - 2つのリストが同じかどうかを比較
- Java - 配列から特定のIndex要素を削除する3つの方法
- Java - HashMapソート、4つの方法
- Java - 文字列を配列に変換する方法
- Java - ArrayListが空であることを確認する3つの方法
- Java - ArrayListの巡回、4つの方法
- Java - ArrayListの最大値、最小 値を見つける
- Java - ArrayListの合計、平均値の計算
- Java - HashMap巡回、3つの方法
- Java - do whileとwhileの違い
- Java - Lambda式と関数型インタフェース
- Java - List empty(null)チェック、3つの方法
- Java - ArrayListの初期化、4つの方法
- Java - Stream.reduce()の使い方と例
- Java - 2つのマップを結合する(merge、putAll)
- Java - java.util.Dateをjava.sql.Dateに変換する
- Java - ArrayListをStringに変換する
- Java - ClassNotFoundExceptionの発生原因と解決策
- Java - 非静的メソッドは静的コンテキストから参照できません
- Java - NoSuchMethodErrorの原因と解決策
- Java - JSONライブラリを使用する方法(JSONObject、JSONArray)
- Java - byte[]配列をFileに保存
- Java - byte[]の配列をStringに変換
- Java - ファイルのアクセス権を確認し、変更
- Java - 一時フォルダ(Temp directory)パスを取得する
- Javaでシェルスクリプトを実行
- Java - Streamを配列に変換する
- Java - リスト重複排除、2つの方法