はじめに
Javaでは、様々なアプローチを使って1行のコードでListを初期化することができます。この実験では、JavaでListを簡潔に初期化するさまざまな方法を学びます。
Javaでは、様々なアプローチを使って1行のコードでListを初期化することができます。この実験では、JavaでListを簡潔に初期化するさまざまな方法を学びます。
asList() メソッドを使って配列を使ってListを作成することができます。このメソッドは直接要素をパラメータとして取り、固定サイズのリストを返します。要素を追加しようとすると、UnsupportedOperationExceptionがスローされます。
import java.util.Arrays;
import java.util.List;
public class ListInitializationDemo {
public static void main(String[] args) {
List<String> colorsList = Arrays.asList("red", "blue", "green");
System.out.print("Colors List : " + colorsList); //出力 : [red, blue, green]
}
}
コードを実行するには、コマンドプロンプトを開き、プロジェクトディレクトリに移動して、次のコマンドを実行します。
javac ListInitializationDemo.java
java ListInitializationDemo
Java Streams を使って、collect() メソッドを使ってストリーム要素のための List を作成することができます。
import java.util.List;
import java.util.stream.Collectors;
import java.util.stream.Stream;
public class ListInitializationDemo {
public static void main(String[] args) {
List<String> colorsList = Stream.of("red", "blue", "green")
.collect(Collectors.toList());
System.out.print("Colors List : " + colorsList); //出力 : [red, blue, green]
}
}
コードを実行するには、コマンドプロンプトを開き、プロジェクトディレクトリに移動して、次のコマンドを実行します。
javac ListInitializationDemo.java
java ListInitializationDemo
Java 9 では、可変と不可変の両方の List 用にオーバーロードされた List.of() メソッドが提供されています。
import java.util.List;
public class ListInitializationDemo {
public static void main(String[] args) {
List<String> colorsList = List.of("red", "blue", "green");
System.out.print("Colors List : " + colorsList); //出力 : [red, blue, green]
}
}
コードを実行するには、コマンドプロンプトを開き、プロジェクトディレクトリに移動して、次のコマンドを実行します。
javac ListInitializationDemo.java
java ListInitializationDemo
ダブルブレース初期化を使用して、匿名内部クラスを使ってListを初期化することができます。
import java.util.List;
import java.util.ArrayList;
public class ListInitializationDemo {
public static void main(String[] args) {
List<String> colorsList = new ArrayList<String>() {
{
add("red");
add("blue");
add("green");
}
};
System.out.print("Colors List : " + colorsList); //出力 : [red,blue,green]
}
}
コードを実行するには、コマンドプロンプトを開き、プロジェクトディレクトリに移動して、次のコマンドを実行します。
javac ListInitializationDemo.java
java ListInitializationDemo
Apache Commons Collections は、指定されたリストの変更不可能なビューを返す unmodifiableList() メソッドを提供します。
import java.util.List;
import org.apache.commons.collections4.ListUtils;
import java.util.Arrays;
public class ListInitializationDemo {
public static void main(String[] args) {
List<String> colorsList = ListUtils.unmodifiableList(
Arrays.asList("red", "blue", "green")
);
System.out.print("Colors List : " + colorsList); //出力 : [red,blue,green]
}
}
コードを実行するには、ターミナルを開き、プロジェクトディレクトリに移動して、次のコマンドを実行します。
javac -cp commons-collections4-4.4.jar ListInitializationDemo.java
java -cp commons-collections4-4.4.jar:. ListInitializationDemo
Guava ライブラリは、要素で初期化された可変の ArrayList を返す newArrayList() メソッドを提供します。
import java.util.List;
import com.google.common.collect.Lists;
public class ListInitializationDemo {
public static void main(String[] args) {
List<String> colorsList = Lists.newArrayList("red", "blue", "green");
System.out.print("Colors List : " + colorsList); //出力 : [red,blue,green]
}
}
コードを実行するには、ターミナルを開き、プロジェクトディレクトリに移動して、次のコマンドを実行します。
javac -cp guava-31.0.1-jre.jar ListInitializationDemo.java
java -cp guava-31.0.1-jre.jar:. ListInitializationDemo
Guava は、不変な List を返す ImmutableList クラスも提供しています。
import java.util.List;
import com.google.common.collect.ImmutableList;
public class ListInitializationDemo {
public static void main(String[] args) {
List<String> colorsList = ImmutableList.of("red", "blue", "green");
System.out.print("Colors List : " + colorsList); //出力 : [red,blue,green]
}
}
コードを実行するには、ターミナルを開き、プロジェクトディレクトリに移動して、次のコマンドを実行します。
javac -cp guava-31.0.1-jre.jar ListInitializationDemo.java
java -cp guava-31.0.1-jre.jar:. ListInitializationDemo
Java では、1 行のコードで List を初期化する方法がたくさんあります。Java 8 Stream を使って List を作成する方法、Arrays.asList() メソッドの使用方法、および 9 以降の Java バージョンでの List.of() メソッドの使用方法を見てきました。また、ダブルブレース初期化と、Apache Commons Collections や Guava のような外部の Java ライブラリをどのように使用するかの例も見てきました。