stream流

  1. filter()
    filter()方法是用来过滤数据,只保存满足条件的数据
    特点:数据会变得越来越少,但数据类型和数据的元素值不会发生任何改变
  2. map()
    map映射的特点:
    (1)返回的仍然是一个数组
    (2)映射后的新数组元素个数和原数组个数相同
    (3)不保证映射的数据类型
  3. reduce()
    reduce() 中的第一个参数的含义是reduce做数据统计返回的数据类型和默认初始值
    第二个参数是一个功能性接口:消费2个数据
    第一个数据:代表的是reduce统计的结果,他的初始值是reduce第一个参数的值
    第二个数据:代表数组中的每一个要处理的元素
    返回的数据指的是统计的结果,会自动赋值给第一消费的数据
  // 创建一个 长度为5的只读集合
        List<Integer> of = List.of(10, 210, 10, 34, 65);
         of = new ArrayList<>(of);

对集合中的元素进行去重

List integers = of.stream().distinct().toList();

使用 reduce 进行去重

List list = of.stream().reduce(new ArrayList<>(),
(lt, ele) -> {
if (!lt.contains(ele)) lt.add(ele);
return lt;
}, (a, b) -> a);

  //对上述集合进行排序
 >of.sort(Comparator.reverseOrder());
 
// Collections 工具类实现集合的排序
>Collections.sort(of, Comparator.reverseOrder())

 // 使用 stream 进行排序
 > of.stream().sorted(Comparator.reverseOrder()).toList();
        System.out.println(integers)
   ` ` `   
获取 集合中前三个元素
>of.stream().limit(3).toList();
>

将 集合中的数据按照升序排列、并获取第 3 ~ 6 之间的元素元素
of.stream().sorted()
.limit(6)
.sorted(Comparator.reverseOrder())
.limit(4)
.sorted()
.toList();

获取 集合中4-8个元素
>of.stream().skip(3).limit(4).toList();
获取集合中元素直到不满足条件为止
>of.stream().takeWhile(s -> s > 10).collect(Collectors.toList())
删除集合中满足条件的元素,直到不满足条件为止
>of.stream().dropWhile(s -> s > 10).toList()
判断集合中是否 有任意 一个元素 小于 10
>of.stream().anyMatch(s -> s < 10)
判断集合中所有元素 都不满足条件
of.stream().noneMatch(s -> s > 100)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值