java8用一行代码将一个List集合中的部分内容复制到另一个List集合

举例

一张数据表user包括id,name,age,gender。

用List<User>装该数据表的全部数据,在这里我们假如直接获得这部分数据:

List<User> users = getUsers();

现在需要全部的name数据,我们可以:

List<String> names = users.stream().map(User::getName()).collect(Collectors.toList());

解释

stream:stream不是一种数据结构,它只是某种数据源的一个视图,数据源可以是一个数组,Java容器或I/O channel等。对stream进行修改不会修改任何一个背后的数据源。

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

collect:属于terminal operation,必须加在后面,否则会报错。

Collectors.toList()用来结束Stream流。

总结

List<需要获得集合的类型> list = 已获得的集合的对象.stream().map(已获得的集合对应的类型::需要获得集合对应的内容的Getter方法).collect(Collectors.toList());

  • 7
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值