Java8函数式编程入门 互动版

在线工具推荐: Three.js AI纹理开发包 - YOLO合成数据生成器 - GLTF/GLB在线编辑 - 3D模型格式在线转换 - 可编程3D场景编辑器

flatMap

和map类似,不同的是其每个元素转换得到的是Stream对象,会把子Stream中的元素压缩到父集合中;

query

将两个数字集合合并成一个集合:

private void test() {
    List<Integer> nums = Stream.of(Arrays.asList(1, 2, 3), Arrays.asList(4, 5))
            .flatMap(numList -> numList.stream())
            .collect(Collectors.toList());
    nums.forEach(num -> System.out.println(num));
}

输出结果:

query

将字符串列表{"a","b","c"},{"d","e"}使用flatMap函数式编程方式实现。