Java8 stream用法-备忘录

1. 如何使用匹配模式

复制代码
       List<String> strs = Arrays.asList("a", "a", "a", "a", "b");
        boolean aa = strs.stream().anyMatch(str -> str.equals("a"));//只要有一个满足返回true
        boolean bb = strs.stream().allMatch(str -> str.equals("a"));//所有都要满足返回true
        boolean cc = strs.stream().noneMatch(str -> str.equals("a"));//所有都不满足返回true
        long count = strs.stream().filter(str -> str.equals("a")).count();//过滤满足'a'的个数
        System.out.println(aa);// TRUE
        System.out.println(bb);// FALSE
        System.out.println(cc);// FALSE
        System.out.println(count);// 4
复制代码

 

2. 根据条件过滤返回List

复制代码
List<Integer> list1 = new arrayList<>();
list1.add(1);
list1.add(2);
list1.add(3);
list1.add(4);
list1.add(5);
list1.add(6);

List<Integer> filterList1 = list1.stream().filter(s->s>=1 && s<=3).collect(Collectors.toList());
复制代码

 

3. 去重LIst数据并返回新List

List<Integer> list = new ArrayList<>();
list.add(10);
list.add(10);
list.add(20);

List<Integer> filterList = list.stream().distinct().collect(Collectors.toList());

 

暂时先记录这些,后续慢慢添加。

 

posted @   JimmyShan  阅读(252)  评论(0编辑  收藏  举报
编辑推荐:
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
点击右上角即可分享
微信分享提示