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中重定向请求时传输参数原理分析与实践
346 2
SpringMVC中重定向请求时传输参数原理分析与实践
|
2月前
|
机器学习/深度学习 人工智能 文字识别
浏览器AI模型插件下载,支持chatgpt、claude、grok、gemini、DeepSeek等顶尖AI模型!
极客侧边栏是一款浏览器插件,集成ChatGPT、Claude、Grok、Gemini等全球顶尖AI模型,支持网页提问、文档分析、图片生成、智能截图、内容总结等功能。无需切换页面,办公写作效率倍增。内置书签云同步与智能整理功能,管理更高效。跨平台使用,安全便捷,是AI时代必备工具!
163 8
|
XML Java 数据格式
异步编程 - 08 Spring框架中的异步执行_TaskExecutor接口和@Async应用篇
异步编程 - 08 Spring框架中的异步执行_TaskExecutor接口和@Async应用篇
558 0
|
3月前
|
存储 前端开发 Java
|
3月前
|
数据可视化 搜索推荐 程序员
低代码平台是什么?一文简述:低代码开发平台的分类、功能与构成
本文深入探讨了低代码的概念、分类及其构成,旨在为读者清晰阐述低代码的内涵与外延。文章从低代码的历史起源讲起,追溯至1982年James Martin的前瞻性预测,再到2014年Forrester正式提出“低代码”概念。文中详细解析了低代码与无代码的区别,并按代码量、适用范围、业务类型及使用者类型等多个维度进行分类。
|
5月前
|
API
Postman 可以将文档导出为 HTML/Markdown 吗?
Postman 没有提供直接将你的文档导出为 HTML 或 Markdown 的途径。太糟糕了
|
9月前
|
Java Maven
Maven编译报错:Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.13.0:compile 解决方案
在执行Maven项目中的`install`命令时,遇到编译插件版本不匹配的错误。具体报错为:`maven-compiler-plugin:3.13.0`要求Maven版本至少为3.6.3。解决方案是将Maven版本升级到3.6.3或降低插件版本。本文详细介绍了如何下载、解压并配置Maven 3.6.3,包括环境变量设置和IDEA中的Maven配置,确保项目顺利编译。
10138 4
Maven编译报错:Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.13.0:compile 解决方案
java中Stream流中的forEach、filter、map、count、limit、skip、concat
java中Stream流中的forEach、filter、map、count、limit、skip、concat
512 0
|
数据管理 API 数据库
探索Android Jetpack:现代安卓开发的利器
Android Jetpack是谷歌为简化和优化安卓应用开发而推出的一套高级组件库。本文深入探讨了Jetpack的主要构成及其在应用开发中的实际运用,展示了如何通过使用这些工具来提升开发效率和应用性能。