Java HashMap中根据key或value进行排序
在之前的博客中,我介绍了Java中一些对于元素进行比较的方法,链接见:
Java 自定义比较与排序方法——Comparable与Comparator的简单使用
Java 可用于比较与排序的lambda表达式和comparing方法
本博客继续介绍关于HashMap中存储的内容如何进行排序
HashMap如何根据key进行排序
我们还是会用到Comparator类中的compare()方法,那么我们必须是构建一个Collections的迭代器,那么我们就可以先把map转化为list,代码如下:
Map<Integer, Integer> m = new HashMap<>();
// 向m中填充数据
List<Map.Entry<Integer, Integer>> l = new ArrayList<>(m.entrySet());
接下来就可以对l进行排序了,比如根据key进行从小到大的排序:
Collections.sort(l, new Comparator<Map.Entry<Integer, Integer>>() {
@Override
public