問題一覧に戻る
上級高度な機能
問題99: Streamのmap()とfilter()
Stream APIの中間操作でデータを変換・フィルタリングします。変換にはmap()、選択にはfilter()、複雑なデータ処理にはメソッドチェーンをマスターしましょう。
import java.util.*;
import java.util.stream.*;
public class Main {
public static void main(String[] args) {
List<Integer> nums = Arrays.asList(1, 2, 3, 4, 5);
// 二乗にマップ
List<Integer> squares = nums.stream()
.(x -> x * x)
.collect(Collectors.());
// 偶数をフィルタ
List<Integer> evens = nums.stream()
.(x -> x % 2 0)
.collect(Collectors.toList());
// 操作を連鎖
String result = nums.stream()
.filter(x -> x > 2)
.map(x -> x.())
.collect(Collectors.joining(", "));
}
}