首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用比较器接口进行排序时出现问题

使用比较器接口进行排序时出现问题
EN

Stack Overflow用户
提问于 2011-06-02 14:22:09
回答 2查看 391关注 0票数 1

我创建了一个HashMap的ArrayList,如下所示

代码语言:javascript
复制
ArrayList<HashMap<?,?>>  var = new ArrayList<HashMap<?,?>>(); 

我的HashMaps包含一个字符串值" name“,关键字是"name".What我想要的是按名称对ArrayList进行排序,所以我可以使用比较器来做这件事吗?请帮帮我。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-06-02 14:31:34

代码语言:javascript
复制
        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;
            }
        }
    }); 

这就是答案。

票数 3
EN

Stack Overflow用户

发布于 2011-06-02 14:53:43

你可以试试这样的东西。

代码语言:javascript
复制
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);
}

我还没有编译这篇文章,所以一定要检查它的正确性。=)

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6211167

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档