我创建了一个HashMap的ArrayList,如下所示
ArrayList<HashMap<?,?>> var = new ArrayList<HashMap<?,?>>(); 我的HashMaps包含一个字符串值" name“,关键字是"name".What我想要的是按名称对ArrayList进行排序,所以我可以使用比较器来做这件事吗?请帮帮我。
发布于 2011-06-02 14:31:34
ArrayList<HashMap<String,String>> var = new ArrayList<HashMap<String,String>>();
Collections.sort(var, new Comparator(){
public int compare(Object o1, Object o2)
{
Map map1 = (Map) o1;
Map map2 = (Map)o2;
String name1 = (String) map1.get("name");
String name2 = (String) map2.get("name");
if(name1 != null){
return name1.compareTo(name2);
} else if(name2 != null){
return name2.compareTo(name1);
}else{
return 0;
}
}
}); 这就是答案。
发布于 2011-06-02 14:53:43
你可以试试这样的东西。
public int compare(Object o1, Object o2) {
String one = (String)((HashMap)o1).get("name");
String two = (String)((HashMap)o2).get("name");
return one.compareTo(two);
}我还没有编译这篇文章,所以一定要检查它的正确性。=)
https://stackoverflow.com/questions/6211167
复制相似问题