List方法之sort自然排序后倒序,按时间倒序、筛序数据
list.sort(Comparator.comparing(VO::getUpdateTime).reversed());
排序,比较器
List<Integer> scores = Arrays.asList(320, 321, 321, 300, 288, 288, 287);
if (CollectionUtils.isEmpty(scores)) {
System.err.println("参数错误!");
}
// Map<Integer, Long> map = scores.stream().collect(Collectors.groupingBy(e -> e, Collectors.counting()));
// System.err.println("集合:" + map); 取出所有key排序,然后遍历打印名次
// 倒序,仅一个字段的对象
// scores.sort(Comparator.reverseOrder());
scores.sort(new Comparator<Integer>() {
@Override
public int compare(Integer o1, Integer o2) {
return o2 - o1;
}
lambda按对象某个字段倒序
// lambda按对象某个字段倒序
list = list.stream().sorted(Comparator.comparing(VO::getProperty).reversed());
lambda求某个字段的总和
// lambda按价钱求总和
totalNum = goods.stream().map(Goods::getPrice).reduce(0,(a,b)->a+b);
// 选出价格高于20的两个元素。
goods = goods.stream().filter(g -> g.getPrice()> 20).limit(2).collect(Collectors.toList());