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