List转Map处理

 

  • List对象装一个Map<String,String>

在Java8中新增了stream流的操作,对于代码书写更为简便,而且更容易看的懂

List<Unit> unitList = UnitMapper.selectList(queryWrapper);
Map<String, String> map = unitList.stream().collect(Collectors.toMap(Unit::getStrGuid, Unit::getStrUnit));
  • List对象转一个Map<String,Object>
List<Unit> unitList = UnitMapper.selectList(queryWrapper);
unitList.stream().collect(Collectors.toMap(Unit::getStrGuid, Function.identity()));
Function.identity()返回一个跟输入一样的对象,等价于t -> t , 直接放在map的value
List<Unit> unitList = UnitMapper.selectList(queryWrapper);
unitList.stream().collect(Collectors.toMap(Unit::getStrGuid, Unit ->Unit));
这两种效果就是一样的了.

 

  • List<对象> 转换成 List<Int> 获取对象的Id的List
List<Integer> listId = list.stream().map(DTO::geId).collect(Collectors.toList());
  • List<对象> 排序
list.stream().sorted(Comparator.comparing(DTO::Date));// 按Date升序排列

list.stream().sorted(Comparator.comparing(DTO::Date).reversed());//先按Date升序,结果再进行Date降序
 
list.stream().sorted(Comparator.comparing(DTO::Date,Comparator.reverseOrder()));//按Date降序
  • 自定义转换
List<String> longList = objectList.stream().map(e -> {
            return e.getId().toString();
        }).collect(Collectors.toList());

 

posted @ 2021-06-10 13:13  反转苹果派  阅读(350)  评论(0编辑  收藏  举报