list排序
Collections.sort(voteDeptRankVoList, new Comparator<VoteDeptRankVo>() {
@Override
public int compare(VoteDeptRankVo o1, VoteDeptRankVo o2) {
//return o1.getVoteCounts()- o2.getVoteCounts(); //升序
return o2.getVoteCounts() - o1.getVoteCounts(); //降序
}
});
Collections.sort(voteDeptRankVoList,new Comparator<VoteDeptRankVo>(){
@Override
public int compare(DataStatistic o1, DataStatistic o2) {
return o2.getCreateTime().compareTo(o1.getCreateTime());
}
});
list.sort(Comparator.comparing(User::getCreatedDate));
Comparator.comparing().reversed()倒序。
map 排序
Map<Integer, CommentInfoVo> map = new TreeMap<>((o1, o2) -> o2 - o1);
final Map<String, String> map2= map.entrySet()
.stream()
.sorted(Map.Entry.comparingByKey())
.collect(Collectors.toMap(Map.Entry::getKey, Map.Entry::getValue, (e1, e2) -> e1, LinkedHashMap::new));
list 转map
Map<Long, DeptInfoDTO> bigRegionMap = deptInfoDTOS.stream().collect(Collectors.toMap(r -> r.getDeptId().longValue(), v -> v, (r, j) -> r));
list 分组
Map<String, List<User>> map = students.stream().collect(Collectors.groupingBy(User::getName));
//求最大值
BigDecimal max = list.stream().map(User::getWeight).max((x1, x2) -> x1.compareTo(x2)).get();
//求最小值
BigDecimal min = list.stream().map(User::getWeight).min((x1, x2) -> x1.compareTo(x2)).get();
//求和
BigDecimal sum = list.stream().map(User::getWeight).reduce(BigDecimal.ZERO, BigDecimal::add);
//求平均值
BigDecimal average = list.stream().map(User::getWeight).reduce(BigDecimal.ZERO, BigDecimal::add).divide(BigDecimal.valueOf(userList.size()), 2, BigDecimal.ROUND_HALF_UP);
Arrays.stream(strArr.split(","))
.map(s -> Long.parseLong(s.trim()))
.collect(Collectors.toList())
List<String> destinationAreaList = Lists.newArrayList(Splitter.on(";").omitEmptyStrings().split(destinationArea));