Java8新特性——Stream的常用方法:filter,map,sorted
1.概念
Stream是Java8中处理集合的关键抽象概念,它可以指定你希望对集合进行的操作,可以执行非常复杂的的查找、过滤和映射等操作。使用Stream API对集合数据进行操作,就类似于使用SQL执行的数据库查询。简而言之,Stream API提供了一种高效且易于使用的处理数据的方式。
2.主要方法
①filter : 过滤流中的某些元素
1 2 3 4 5 6 7 8 9 10 11 | public static void main(String[] args) { List<Integer> list = new ArrayList<Integer>(); list.add( 2 ); list.add( 1 ); list.add( 3 ); list.add( 5 ); list.add( 4 ); List<Integer> newList = list.stream().filter((n) -> { //筛选出大于等于4的元素 return n >= 4 ; }).collect(Collectors.toList()); //collect(Collectors.toList());的作用:收集 成一个list集合System.out.println(newList); } |
②map( ):
接收一个函数作为参数,该函数会被应用到每个元素上,并将其映射成一个新的元素。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | public static void main(String[] args) { List<Integer> list = new ArrayList<Integer>(); list.add( 2 ); list.add( 1 ); list.add( 3 ); list.add( 5 ); list.add( 4 ); List<Integer> newList = list.stream().filter((n) -> { return n >= 4 ; }).map((m)->{ if (m== 5 ){ //判断元素的值是否等于5,等于5则返回当前的值,否则返回0 return m; } else { return 0 ; }}).collect(Collectors.toList()); System.out.println(newList); } |
③sorted(Comparator com):定制排序,自定义Comparator排序器
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | public static void main(String[] args) { List<Integer> list = new ArrayList<Integer>(); list.add( 2 ); list.add( 1 ); list.add( 3 ); list.add( 5 ); list.add( 4 ); List<Integer> newList = list.stream().sorted((Integer a,Integer b)->{ return a-b; }).collect(Collectors.toList()); System.out.println(newList); } |
前者跟后者比较为升序,后者跟前者比较为降序
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律
2021-07-16 SpringBoot下读取自定义properties配置文件
2021-07-16 Calendar、SimpleDateFormat 时间用法