有一个集合:

List users = getList(); //从数据库查询的用户集合

现在想获取User的身份证号码;在后续的逻辑处理中要用;

常用的方法我们大家都知道,用for循环,

List idcards=new ArrayList();//定义一个集合来装身份证号码

for(int i=0;i<users.size();i++){idcards.add(users.get(i).getIdcard());}

这种方法要写好几行代码,有没有简单点的,有,java8 API能一行搞定:

List<String> idcards= users.stream().map(User::getIdcard).collect(Collectors.toList())

解释下一这行代码:

users:一个实体类的集合,类型为List
User:实体类
getIdcard:实体类中的get方法,为获取User的idcard

stream()优点

无存储。stream不是一种数据结构,它只是某种数据源的一个视图,数据源可以是一个数组,Java容器或I/O channel等。
为函数式编程而生。对stream的任何修改都不会修改背后的数据源,比如对stream执行过滤操作并不会删除被过滤的元素,而是会产生一个不包含被过滤元素的新stream。
惰式执行。stream上的操作并不会立即执行,只有等到用户真正需要结果的时候才会执行。
可消费性。stream只能被“消费”一次,一旦遍历过就会失效,就像容器的迭代器那样,想要再次遍历必须重新生成。
stream().map()方法的使用示例:

再看几个例子:数组字母小写变大写

List<String> list= Arrays.asList("a", "b", "c", "d");List<String> collect =list.stream().map(String::toUpperCase).collect(Collectors.toList());
System.out.println(collect); //[A, B, C, D]

数组所有元素,按某种规律计算:
List num = Arrays.asList(1,2,3,4,5);
List collect1 = num.stream().map(n -> n * 2).collect(Collectors.toList());
System.out.println(collect1); //[2, 4, 6, 8, 10]

stream().map().collect()用法相关推荐

  1. java8 stream().map().collect()用法

    java8 stream().map().collect()用法 有一个集合: List<User> users = getList(); //从数据库查询的用户集合 现在想获取User的 ...

  2. Stream的特性、用法、stream().map().collect()用法

    Stream的特性.用法.stream().map().collect()用法 1.举例说明 有一个集合: List<User> users = getList(); 现在想获取User的 ...

  3. 通俗易懂,java8 .stream().map().collect()用法

    API: https://www.runoob.com/java/java8-streams.html 模板: mylist.stream().map(myfunction->{return i ...

  4. JAVA Stream的collect用法与原理(详解)

    初识Collector 先看一个简单的场景: 现有集团内所有人员列表,需要从中筛选出上海子公司的全部人员 假定人员信息数据如下: 姓名 子公司 部门 年龄 工资 大壮 上海公司 研发一部 28 300 ...

  5. java8 .stream().map().collect() 的用法

    API: https://www.runoob.com/java/java8-streams.html mylist.stream().map(myfunction->{return item; ...

  6. java8 stream().map().collect()的Collectors.toList()、Collectors.toMap()、Collectors.groupingBy()的

    一.Collectors.toList() 现在有个集合: List<User> users = getUserList(); 现在需要将这些user的id提取出来.这个很简单,for循环 ...

  7. strm().filter().collect()和stream().map().collect()的作用

    在看代码的时候看到了相关方法,自己在写了个例子练习一下 public class People {private Integer id;private String name;private Bool ...

  8. stream().map()

    Stream作为Java 8的一大特点,是对集合对象功能的增强,***.stream().map(...).collect(Collectors.toList())中,***需要是一个List类型的对 ...

  9. stream之map的用法

    map函数的作用就是针对管道流中的每一个数据元素进行转换操作. 一.Stream管道流map的基础用法 最简单的需求:将集合中的每一个字符串,全部转换成大写! List<String> a ...

最新文章

  1. python运行程序-一文看懂python程序的执行过程
  2. python二次开发攻略-ABAQUS Python二次开发攻略
  3. scala外部传入时间参数-亲测有效
  4. 《Arduino奇妙之旅:智能车趣味制作天龙八步》一2.4 准备好了吗?
  5. 使用VS制作MFC、libmysql.dll出现计算机缺少msvcr120.dll和msvcp120.dll问题
  6. 设计模式——创建型模型
  7. linux 下 .sh 文件语法
  8. 知名视频编辑工具:达芬奇剪辑调色软件 DaVinci Resolve Studio Mac v17.3.1
  9. OpenJDK8 272在MIPS上的编译修改记录
  10. 如何看懂财务报表:(一)如何下载财报
  11. ArcGIS晕渲图的制作(解决山体阴影问题——平坦地区凸点过于突出)
  12. 一读就错的68个姓氏,第一个就读错了
  13. html5 元宵节送祝福,[元宵节祝福语简短5]元宵节祝福语简短
  14. python实现打印九九乘法表
  15. 常见字读音(粤语)---(3)
  16. 苹果旧版app_曾经被吹爆的苹果,这次彻底跌下神坛
  17. Facebook使用虚拟信用卡养广告账户扣费跑广告实用技巧
  18. arm_neon.h文件ABI说明
  19. [转载]你有英文名字吗?给自己起一个吧
  20. 微信小程序-选择时间(一周的某一时刻)

热门文章

  1. 表级触发器不支持ddl语句_表上的数据库级DDL触发器
  2. 关于《构建之法》阅读笔记 的致歉博客
  3. redis cluster以及master-slave在windows下环境搭建
  4. 在Unity3D中实现安卓平台的本地通知推送
  5. 0429《与孩子一起学编程》读书笔记1
  6. 同一台Windows机器中启动多个Memcached服务
  7. POJ 3122 Pie 二分枚举
  8. NET 自定义配置文件 Configuration
  9. Web Client Software Factory系列(3):View-Presenter模式
  10. 洛谷 P2286 [HNOI2004]宠物收养场