Java8函数式编程入门 互动版

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

filter

对于Stream中包含的元素使用给定的过滤函数进行过滤操作,新生成的Stream只包含符合条件的元素。

query

输出一个数字集合里大于10的数字,用for循环:

private void print() {
    System.out.println("使用for循环:");
    List<Integer> numbers = Arrays.asList(5,10,15);
    for (Integer number : numbers) {
        if (number > 10) {
            System.out.println(number);
        }
    }
}

使用filter来实现:

private void test() {
    System.out.println("使用filter:");
    List<Integer> numbers = Stream.of(5,10,15).collect(Collectors.toList());
    numbers.stream().filter(x -> x > 10).forEach(System.out::println);

}

输出结果:

query

使用filter函数式编程方式,输出年龄大于22的学生的姓名。