我需要根据存储在其中的值对我的hashmap进行排序。 hashmap包含存储在phone中的联系人名称。所以我需要在对值进行排序后自动对键进行排序。或者你可以说键和值绑定在一起,因此值的任何变化都应该反映在键中。 / p>
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);
必需的输出:
2,abby;
5,daisy;
3,denver;
4,frost;
1,froyo;
答案 0 :(得分:0)
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());