Java で文字列のリストを初期化する
-
Java で文字列のリストを初期化するには
ArrayList
、LinkedList
、Vector
を使用する -
Java で文字列の
List
をインスタンス化するにはArrays.asList
を使用する -
Java 8 の
Stream
を使って Java で文字列のList
をインスタンス化する -
Java で文字列の
List
のインスタンスを作成するにはList.of
を使用する
このチュートリアルでは、Java で文字列のリストを初期化する様々な方法を見ていきます。リストはインターフェースなので、直接インスタンス化することはできません。
Java で文字列のリストを初期化するには ArrayList
、LinkedList
、Vector
を使用する
List
は Java のコレクション
の子インターフェースです。これはオブジェクトの順序付きコレクションであり、重複した値を格納することができます。List
のインスタンスは、List
インターフェースを実装したクラスを使って作成することができます。
これらのクラスには、ArrayList
、Vector
、LinkedList
、Stack
などがあります。リストのインスタンス myList
は new ArraList<String>()
を用いて作成します。したがって、以下のいずれかの方法で List
のインスタンスを宣言および作成し、その List
に対して様々な操作を行うことができます。
import java.util.ArrayList;
import java.util.LinkedList;
import java.util.List;
import java.util.Vector;
public class ListExample {
public static void main(String[] args) {
List<String> myList = new ArrayList<String>();
List<Fruits> lList = new LinkedList<Fruits>();
List<Integer> vList = new Vector<Integer>();
myList.add("Happy");
myList.add("Coding");
lList.add(new Fruits("Grapes", "Green"));
lList.add(new Fruits("Apple", "Red"));
vList.add(1);
vList.add(4);
vList.add(9);
vList.add(7);
vList.remove(2);
for (String s : myList) {
System.out.println(s);
}
for (Fruits f : lList) {
System.out.println(f.name + " is " + f.color + " in color.");
}
for (int i : vList) {
System.out.println(i);
}
}
}
class Fruits {
String name;
String color;
Fruits(String name, String color) {
this.name = name;
this.color = color;
}
}
出力:
Happy
Coding
Grapes is Green in color.
Apple is Red in color.
1
4
7
Java で文字列の List
をインスタンス化するには Arrays.asList
を使用する
Arrays.asList
メソッドは配列に裏付けられた固定サイズのリストを返します。これは配列をリストとして利用できるようにするラッパーにすぎません。リストは不変なので、このリストを変更することはできません。
ここでは、長さを変更できない myList
という名前の List
のインスタンスを取得しています。
import java.util.Arrays;
import java.util.List;
public class ListExmp {
public static void main(String[] args) {
List<String> myList = Arrays.asList("John", "Ben", "Gregor", "Peter");
String name = myList.get(3);
System.out.println(name);
}
}
出力:
Peter
Java 8 の Stream
を使って Java で文字列の List
をインスタンス化する
Java 8 の Stream
には、データのかさばるプロセスを簡単かつ便利にするデータソースのラッパーが含まれています。
メソッドはデータのストリームを構築し、それらをリストに収集します。この操作のためのロジックは Collector
インターフェースが提供します。Collector.toList()
はストリームのすべての要素を List
のインスタンスに収集します。
import java.util.List;
import java.util.stream.Collectors;
import java.util.stream.Stream;
public class ListExmp {
public static void main(String[] args) {
List<String> list = Stream.of("john", "doe").collect(Collectors.toList());
if (list.contains("doe")) {
System.out.println("doe is there");
} else {
System.out.println("doe is not there");
}
}
}
出力:
doe is there
Java で文字列の List
のインスタンスを作成するには List.of
を使用する
以下のコードでは、List.of()
メソッドは任意の数の引数を取り、不変リストを返します。List
の変更不可能なインスタンスとして immutableList
を用意しています。
可変リストを作成するためには、ArrayList
のインスタンスを immutable リストをパラメータとして作成しなければならません。以下のコードに示すように、List
の mutableList
インスタンスに変更を加えることができます。
import java.util.ArrayList;
import java.util.List;
public class ListExmp {
public static void main(String[] args) {
List<String> immutableList = List.of("One", "Two", "Three", "Four", "Five");
List<String> mutableList = new ArrayList<>(List.of("Six", "Seven", "Eight"));
for (String l : immutableList) {
System.out.println(l);
}
System.out.println("XXXXXX");
mutableList.add("Nine");
for (String l : mutableList) {
System.out.println(l);
}
}
}
出力:
One
Two
Three
Four
Five
XXXXXX
Six
Seven
Eight
Nine
Rupam Saini is an android developer, who also works sometimes as a web developer., He likes to read books and write about various things.
LinkedIn