概述
public void test() {
List<Zhy> zhy = new ArrayList<>();
zhy.add(new Zhy("two", 2));
zhy.add(new Zhy("three", 3));
zhy.add(new Zhy("three2", 3));
zhy.add(new Zhy("one", 1));
// 提取code到新list
List<Integer> codes = zhy.stream().map(Zhy::getCode).collect(Collectors.toList());
// 根据code进行排序
zhy.sort(Comparator.comparingInt(Zhy::getCode));
// 根据name进行排序
zhy.sort(Comparator.comparing(Zhy::getName));
// 统计code重复数量
Map<Object, Integer> map = new TreeMap<>();
for (Object i : zhy) {
if (map.get(i) == null) {
map.put(i, 1);
} else {
map.put(i, map.get(i) + 1);
}
}
// 简化写法
for (Object i : zhy) {
map.merge(i, 1, (a, b) -> a + b);
}
/*
merge 的方法有三个参数 第一个是所选map的key,第二个是需要合并的值,第三个是 如何合并,也就是说合并方法的具体实现
*/
// map根据value排序
List<Map.Entry<Object, Integer>> list = new ArrayList<>(map.entrySet());
list.sort(Comparator.comparingInt(Map.Entry::getValue));
System.out.println(list);
}
@Data
@AllArgsConstructor
public class Zhy {
private String name;
private int code;
}
最后
以上就是俭朴画板为你收集整理的java8Lombok类库使用List常用提取排序统计的全部内容,希望文章能够帮你解决java8Lombok类库使用List常用提取排序统计所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复