如何对具有键值对的列表的地图进行排序?

时间:2011-03-09 10:36:06

标签: java sorting collections

我在地图中获取特定键的结果列表。如何排序?

提前致谢。

4 个答案:

答案 0 :(得分:3)

如果您想对键进行排序,请转到TreeMap


来自你的陈述:

  

我在地图中获取特定键的结果列表。如何排序?

看来你的地图是

Map<String,List<SomeEntity>> map;

您可以从List获取key个对象,然后使用

Collections.sort(list, your_custom_implementation_of_comparator)

public class CustomComparator implements Comparator<SomeEntity> {
    @Override
    public int compare(SomeEntity o1, SomeEntity o2) {
        //logic goes here
    }
}

答案 1 :(得分:1)

如果您询问如何对列表进行排序,请参阅Collections.sort(List)

答案 2 :(得分:1)

Map<String, String> mapie = new Hashtable<String, String>();
        mapie.put("D", "the letter D");
        mapie.put("C", "the letter C");
        mapie.put("A", "the letter A");
        mapie.put("B", "the letter B");

        Set<String> keys = mapie.keySet();

        List<String> keyColList = new ArrayList<String>();
        keyColList.addAll(keys);

            **You can also make use of a Comparator if you are using a custom object.**
        Collections.sort(keyColList);

        for(String keyIndex:keyColList){
            System.out.println("Key: "+ keyIndex + " has value: "+mapie.get(keyIndex));
        }

答案 3 :(得分:0)

进行视觉检查的最简单方法是使用地图初始化TreeMap,然后打印它。

System.out.println("map: " + new TreeMap(myMap));