問題一覧に戻る
上級高度な機能
問題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(", "));
}
}