工作中,经常遇到获取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())));
待续...