java lambda表达式 操作list

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

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

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

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

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

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

待续...

你可能感兴趣的:(java,java,list,开发语言)