1.概念

Stream是Java8中处理集合的关键抽象概念,它可以指定你希望对集合进行的操作,可以执行非常复杂的的查找、过滤和映射等操作。使用Stream API对集合数据进行操作,就类似于使用SQL执行的数据库查询。简而言之,Stream API提供了一种高效且易于使用的处理数据的方式。

2.主要方法

①filter : 过滤流中的某些元素

用法:

例如:现在有一个 list, 它的元素为{1,2,3,4,5,6}

则 List<Integer>  list2=list.stream( ).filter ( (intList) - >{

return intList >3; //筛选出大于3的元素

} ).collect(Collectors.toList());

-------新的l集合 list2 的结果为{4,5,6}

-------collect(Collectors.toList());的作用:收集 成一个list集合

详解:

②map( ):

接收一个函数作为参数,该函数会被应用到每个元素上,并将其映射成一个新的元素。

例如:接着上面继续来看:list2此时为{4,5,6}

list2.stream().map( (intList)->{

if (intList==5) {  //判断元素的值是否等于5,等于5则返回当前的值

return intList;

}else {

return 0; //不等于5,则返回0

}

}).collect(Collectors.toList());

因此,上述的结果为{0,5,0}

③sorted(Comparator com):定制排序,自定义Comparator排序器

例如,对于集合list4:{4,5,3,1,2}

list4.stream().sorted( (int01,int02)->{

return int01-int02; //升序

} )

解释: int01是前一个元素,int02是后一个元素

记住排序的原理:前者跟后者比较为升序,后者跟前者比较为降序

Java8特性之Stream的常用方法:filter,map,sorted相关推荐

  1. Java8特性系列文章目录

    (1)详解Java8特性之Lambda表达式 (2)详解Java8特性之方法引用 (3)详解Java8特性之接口默认方法 (4)详解Java8特性之Optional类 (5)详解Java8特性之Str ...

  2. Java8特性 stream流常用方法

    Java8特性 stream流常用方法 Java 8 API添加了一个新的抽象称为流Stream,可以让你以一种声明的方式处理数据. Stream 使用一种类似用 SQL 语句从数据库查询数据的直观方 ...

  3. Java8 stream filter map

    java8 中的stream filter map 组合使用能很好的代替for 循环去处理逻辑,而且代码简单明了 public static void main(String[] args) {Lis ...

  4. Java8新特性 Stream流常用方法

    Java 8 API添加了一个新的抽象称为流Stream,可以让你以一种声明的方式处理数据. Stream 使用一种类似用 SQL 语句从数据库查询数据的直观方式来提供一种对 Java 集合运算和表达 ...

  5. Java8新特性 stream流常用方法

    Java 8 API添加了一个新的抽象称为流Stream,可以让你以一种声明的方式处理数据. Stream 使用一种类似用 SQL 语句从数据库查询数据的直观方式来提供一种对 Java 集合运算和表达 ...

  6. JAVA8的新特性之Stream

    JAVA8的新特性之Stream 1.概述: 在jdk1.8中,提供了一个Stream,可以对数据进行过滤 2.好处: 比不断自定义循环,要简单很多 Stream类型数据的获取 1.Collectio ...

  7. java8 stream 做累加_Java8新特性之Stream(上)|乐字节

    上次给大家介绍了Java8新特性之方法引用,大家可以点击回顾下.接下来小乐继续给大家带来Java8新特性之Stream ,流是Java8最重要的内容,小乐准备分上下两部分介绍,今天是上部. 5.1.什 ...

  8. 【java8新特性】——Stream API详解(二)

    一.简介 java8新添加了一个特性:流Stream.Stream让开发者能够以一种声明的方式处理数据源(集合.数组等),它专注于对数据源进行各种高效的聚合操作(aggregate operation ...

  9. java stream byte_乐字节-Java8新特性之Stream流(上)

    上一篇文章,小乐给大家介绍了<Java8新特性之方法引用>,下面接下来小乐将会给大家介绍Java8新特性之Stream,称之为流,本篇文章为上半部分. 1.什么是流? Java Se中对于 ...

最新文章

  1. 音乐网站购买服务器,怎么样去做一个音乐网站
  2. Android使用READ_CONTACTS读取手机联系人
  3. Linux中samba的权限详解,活用三种权限 理解Samba的权限控制
  4. 第五届大数据科学与工程国际会议(BDSE2021)如约而至!大咖云集,欢迎参加~
  5. vue项目中vue-echarts讲解及常用图表方案实现
  6. VB589语音识别芯片开发
  7. filebeat配置介绍
  8. (WCF)阅读WCF分布式开发步步为赢(2)自定义托管宿主WCF解决方案开发配置过程详解的一点心得...
  9. php英语大全,学习php编程语言 php常用英语单词
  10. ECharts大屏可视化
  11. 商务办公软件应用与实践【6】
  12. 25个超酷手绘插图的网站设计
  13. 大话西游2同一个账号同一个服务器,大话西游2:服务器合并你是否支持?老玩家告诉你合服后的影响!...
  14. 银行家算法##大魔王程序员
  15. 抖音电商难做吗?为什么又累又卷还是做不好?
  16. 惠花生活小礼盒v2.0.1
  17. 中文核心期刊目录(2004年版)
  18. 51单片机最小系统板制作过程
  19. 他,是碾压爱迪生的科技天才!尼古拉特斯拉的一生竟是这样...
  20. allegro 输出gerber文件

热门文章

  1. 电脑桌面上的东西从计算机进去,如果有东西卡在电脑屏幕上怎么解决
  2. android双卡时对apn的操作
  3. 有关HTML与CSS的重点知识归纳(Pink)
  4. 【C】C语言复习_第五天_数组
  5. 测试架构工程师需要具备哪些能力 ?
  6. RuntimeError: reciprocal is not implemented for type torch.cuda.LongTensor
  7. 徐新说:创业是艰难的要懂得坚持住
  8. qinglong青龙面板使用
  9. unity 实现离线Google地球
  10. spring整合redis分片