【Java入門】Streamオブジェクトの生成方法

【Java入門】ストリームオブジェクトの生成方法

この記事では、ストリームオブジェクトを生成する3つの方法について説明します。

配列からストリームオブジェクトを作成する方法

例えば、int型の配列からストリームオブジェクトを作成するには以下のように記述します。

Java

//int型の配列を生成
int iArray[] = {1,2,3,4,5};

//配列を基にintStreamオブジェクトを作成
IntStream iStream = Arrays.stream(iArray);

//ストリームの内容を出力
iStream.forEach(System.out::print);//12345

この他には、long型配列から生成するLongStream、double型配列から生成するDoubleStreamがあります。

既存のコレクションをストリームに変換する方法

java.util.CollectionインターフェースにDefaultメソッドとして追加されたstreamメソッドを用いることで、既存のコレクション・オブジェクトをストリーム・オブジェクトに変換することができます。

ArrayListをストリームに変換する方法

Collectionインターフェースが持つstream()を使用してstreamオブジェクトを生成することができます。

Java

ArrayList<String> list = new ArrayList<>();
list.add("A");
list.add("B");
list.add("C");
list.add("D");
list.add("E");
Stream<String> stream = list.stream();
stream.map(n -> n + "10").forEach(System.out::println);

実行結果

A10
B10
C10
D10
E10

Mapをストリームに変換する方法

Java

Map<Integer,String> map = new TreeMap<>();
map.put(1,"A");
map.put(2,"B");
map.forEach((K,V)->System.out.println(K + V));

実行結果

1A
2B

複数の参照型オブジェクトからStreamオブジェクトを取得する方法

複数の参照型オブジェクトからStreamオブジェクトを取得するには.of()を使用します。
.of()は可変長引数であるため、任意の数のオブジェクトを渡すことができます。

Java

ArrayList<String> list1 = new ArrayList<>();
list1.add("str1");
list1.add("str2");
list1.add("str3");

ArrayList<String> list2 = new ArrayList<>();
list2.add("str4");
list2.add("str5");
list2.add("str6");

//2つのlistをストリームオブジェクトに変換
Stream<ArrayList<String>> stream = Stream.of(list1,list2);

//出力
stream.flatMap(l -> l.stream()).forEach(System.out::println);

実行結果

str1
str2
str3
str4
str5
str6

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です