Java の入出力とストリーム
Alex Liu
Software Development Engineer
Java の Streams
ArrayList, LinkedList)HashSet, TreeSet)Keys/Values を Streams として)(例: HashMap, TreeMap)Arrays.stream())以降で使用する ArrayList 例 names
names: ["Alice", "Bob", "Charlie", "David"]
(parameters) -> { expression }names.forEach(
// `name` is a parameter representing each element in the list
name ->
// This is the expression executed for each element.
System.out.println(name));
Alice
Bob
Charlie
David
コレクションを Stream に変換
.stream() を使用List、Set、Queue をサポートStream クラスをインポート
import java.util.stream.Stream;
names をストリームにして .forEach() で各要素にアクセスStream<String> stream = names.stream();
stream.forEach(name -> System.out.println(name));
.filter() で要素を選択names をストリーム化Stream<String> stream = names.stream();
A で始まる要素を .filter() で抽出し、.forEach() で出力stream
.filter(name -> name.startsWith("A"))
.forEach(name -> System.out.println(name));
Alice要素数を数えるには .count() を使用
longサンプル names をストリーム化
Stream<String> stream = names.stream();
B で始まる要素を .filter() で抽出し、.count() で数える
long count = names.stream()
.filter(name -> name.startsWith("B"))
.count();
結果: 1(Bob のみが B で開始)
Streams を使う場面:Streams を使わない場面:Java の入出力とストリーム