-
筛选:用谓词筛选(一个返回boolean的函数)筛选,筛选出各不相同的元素
- 用谓词筛选:Stream支持的
filter
方法,接受一个谓词作为参数,返回所有符合要求元素的流List<Integer> list = Lists.newArrayList(1, 3, 10, 2, 8, 4, -10, -5); //筛选出大于等于4并是偶数的元素后迭代输出 list.stream().filter(i -> i >= 4 && i % 2 == 0).forEach(System.out::println); //输出结果:10 8 4
- 去重:Stream可以采用
distinct
方法去除流中重复元素(根据流所生成元素的hashCode和equals方法实现)的流List<Integer> list = Lists.newArrayList(1, 3, 3, 2, -5, 4, -10, -5); //筛选出所有奇数去重后输出 list.stream().filter(i -> i % 2 != 0).distinct().forEach(System.out::println); //输出结果:1 3 -5
- 用谓词筛选:Stream支持的
-
切片:忽略流中的头几个元素或截取流中的前几个元素
- 从前往后截取:Stream的
limit(n)
方法,返回一个不超过n个元素的流,有序集合返回从下标0开始元素组成的流,而无序集合则返回无序的流,如果流中的元素不够n则返回符合要求的所有元素log.debug("有序集合
- 从前往后截取:Stream的
Java8流操作之筛选与切片
最新推荐文章于 2024-06-28 21:29:15 发布