java lambda表达式 操作list

工作中,经常遇到获取list对象中的某一个属性的集合,这里可以用lambda表达式快速获取,简化工作量

List<User> userList = userService.lambdaQuery().list();
List<String> userId = userList.stream()
                        .map(User::getUserId)
                        .collect(Collectors.toList());

有时候会遇到需要将某个属性转换成另外一种类型

List<User> userlist = userService.lambdaQuery().list();
List<long> userIds = userlist.stream()
                    .map(item->{
                            return Long.valueOf(item.getUserId())    
                        })
                    .collect(Collectors.toList());

遇到类似于取字典下的一个code的所有对应key

//value只获取对象中的某个值,不需要一个对象
List<DictItem> responses = dictInfoMapper.getAllDictCode(code);
//将list 转为map  key为字典code,value为对应的下面的值
Map<String, Set<String>> map = responses.stream()
    .collect(Collectors.groupingBy(DictItem::getId,
       Collectors.mapping(DictItem::getValue, Collectors.toSet())));

待续...

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值