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());