【发布时间】:2011-03-09 10:36:06
【问题描述】:
我正在获取特定键的映射中的结果列表。如何排序?
提前致谢。
【问题讨论】:
-
@user:这些结果是什么,我的意思是对象类型。
标签: java sorting collections
我正在获取特定键的映射中的结果列表。如何排序?
提前致谢。
【问题讨论】:
标签: java sorting collections
如果您想对键进行排序,请选择TreeMap
来自您的陈述:
我正在获取特定键的映射中的结果列表。如何排序?
看来你的地图是
Map<String,List<SomeEntity>> map;
您可以从key 获取对象的List 然后使用
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
}
}
【讨论】:
如果您询问如何对列表进行排序,请参阅Collections.sort(List)。
【讨论】:
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));
}
【讨论】:
keyIndex,您能否完成该示例以便参考。
进行目视检查的最简单方法是使用您的地图初始化 TreeMap,然后将其打印出来。
System.out.println("map: " + new TreeMap(myMap));
【讨论】: