Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/sorting/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何按值对hashmap进行排序?_Java_Sorting_Hashmap - Fatal编程技术网

Java 如何按值对hashmap进行排序?

Java 如何按值对hashmap进行排序?,java,sorting,hashmap,Java,Sorting,Hashmap,可能重复: 我需要根据hashmap中存储的值对其进行排序。hashmap包含存储在phone中的联系人名称。我还需要在对值进行排序后立即对键进行自动排序。或者您可以说键和值绑定在一起,因此值中的任何更改都应该反映在键中 HashMap<Integer,String> map = new HashMap<Integer,String>(); map.put(1,froyo); map.put(2,abby); map.put(3,denver)

可能重复:

我需要根据hashmap中存储的值对其进行排序。hashmap包含存储在phone中的联系人名称。我还需要在对值进行排序后立即对键进行自动排序。或者您可以说键和值绑定在一起,因此值中的任何更改都应该反映在键中

 HashMap<Integer,String> map = new HashMap<Integer,String>();
    map.put(1,froyo);
    map.put(2,abby);
    map.put(3,denver);
    map.put(4,frost);
    map.put(5,daisy);
私有静态类MyMapComparator实现Comparator
{
@凌驾
公共整数比较(Map.Entry a、Map.Entry b){
返回a.getValue().compareTo(b.getValue());
}
}
...
List entries=newarraylist(map.entries());
排序(条目,新的MyMapComparator());

以及与今天早些时候发布的一个问题几乎完全相同的问题-1用于重新发布,甚至不修复示例中的错误。如果您能够提供答案,那就太好了。顺便问一下,您正在谈论示例中的错误。您有
(“1”,froyo)
等,当它是
时。哎呀,我没有注意到。我的错,谢谢您提醒我。。
2,abby;
5,daisy;
3,denver;
4,frost;
1,froyo;
private static class MyMapComparator implements Comparator<Map.Entry<Integer, String>>
{
    @Override
    public int compare(Map.Entry<Integer, String> a, Map.Entry<Integer, String> b) {
        return a.getValue().compareTo(b.getValue());
    }
}
...

List<Map.Entry<Integer, String>> entries = new ArrayList<Map.Entry<Integer, String>>(map.entries());
Collections.sort(entries, new MyMapComparator());