Stream方法使用-filter、sorted、distinct、limit

简介: Stream方法使用-filter、sorted、distinct、limit

Stream方法使用

filter、sorted、distinct、limit

这几个都是常用的Stream的中间操作方法,具体的方法的含义在stream初相识篇里面有说明。具体使用的时候,可以根据需要选择一个或者多个进行组合使用,或者同时使用多个相同方法的组合:

publicvoidtestGetTargetUsers() {
List<String>ids=Arrays.asList("205","10","308","49","627","193","111", "193");
// 使用流操作List<Dept>results=ids.stream()
        .filter(s->s.length() >2)
        .distinct()
        .map(Integer::valueOf)
        .sorted(Comparator.comparingInt(o->o))
        .limit(3)
        .map(id->newDept(id))
        .collect(Collectors.toList());
System.out.println(results);
}

上面的代码片段的处理逻辑很清晰:

  1. 使用filter过滤掉不符合条件的数据
  2. 通过distinct对存量元素进行去重操作
  3. 通过map操作将字符串转成整数类型
  4. 借助sorted指定按照数字大小正序排列
  5. 使用limit截取排在前3位的元素
  6. 又一次使用map将id转为Dept对象类型
  7. 使用collect终止操作将最终处理后的数据收集到list中

输出结果:

[Dept{id=111}, Dept{id=193}, Dept{id=205}]


相关文章
|
SQL 存储 关系型数据库
|
存储 前端开发 Java
SpringMVC中重定向请求时传输参数原理分析与实践
SpringMVC中重定向请求时传输参数原理分析与实践
396 2
SpringMVC中重定向请求时传输参数原理分析与实践
|
SQL XML 关系型数据库
Mybatis-Plus通过SQL注入器实现真正的批量插入
Mybatis-Plus通过SQL注入器实现真正的批量插入
6337 0
Mybatis-Plus通过SQL注入器实现真正的批量插入
|
11月前
|
监控 负载均衡 Java
5 大 SpringCloud 核心组件详解,8 张图彻底弄懂
本文图文详解 Spring Cloud 的五大核心组件,帮助深入理解和掌握微服务架构。关注【mikechen的互联网架构】,10年+BAT架构经验倾囊相授。
5 大 SpringCloud 核心组件详解,8 张图彻底弄懂
|
XML Java 数据格式
异步编程 - 08 Spring框架中的异步执行_TaskExecutor接口和@Async应用篇
异步编程 - 08 Spring框架中的异步执行_TaskExecutor接口和@Async应用篇
625 0
|
3月前
|
机器学习/深度学习 人工智能 文字识别
浏览器AI模型插件下载,支持chatgpt、claude、grok、gemini、DeepSeek等顶尖AI模型!
极客侧边栏是一款浏览器插件,集成ChatGPT、Claude、Grok、Gemini等全球顶尖AI模型,支持网页提问、文档分析、图片生成、智能截图、内容总结等功能。无需切换页面,办公写作效率倍增。内置书签云同步与智能整理功能,管理更高效。跨平台使用,安全便捷,是AI时代必备工具!
247 8
|
4月前
|
存储 前端开发 Java
|
3月前
|
存储 算法 索引
HashMap的实现原理
HashMap基于哈希算法实现,采用链表散列结构(数组+链表/红黑树)。JDK1.8前使用拉链法解决冲突,将冲突元素存入链表。JDK1.8后,当链表长度超过8时,转化为红黑树以提升查找效率;当元素数小于6时,退化为链表。通过key的hashCode计算索引,put时若key相同则覆盖,不同则添加到链表或树中。get时通过hash值定位并判断key获取对应值。
223 0
|
6月前
|
API
Postman 可以将文档导出为 HTML/Markdown 吗?
Postman 没有提供直接将你的文档导出为 HTML 或 Markdown 的途径。太糟糕了
java中Stream流中的forEach、filter、map、count、limit、skip、concat
java中Stream流中的forEach、filter、map、count、limit、skip、concat
527 0
下一篇
oss教程