java - 使用 Comparator 接口(interface)排序的问题

标签 java comparator

我创建了一个像这样的 HashMap 的 ArrayList

ArrayList<HashMap<?,?>>  var = new ArrayList<HashMap<?,?>>(); 

我的 HashMap 包含一个带有键“name”的字符串值“name”。我想要按名称对 ArrayList 进行排序,所以我可以使用 Comparator 来做到这一点吗? 请帮助我。

最佳答案

        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;
            }
        }
    }); 

答案在这里。

关于java - 使用 Comparator 接口(interface)排序的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6211167/

相关文章:

java - Tomcat v7.0 无法从 Eclipse Jee Neon 中启动

java - 如何使用 Junit5 在 junit 4 中创建测试套件

Java如何写一个定时器

Java PriorityQueue Comparator - 如何/何时排序?

java - 使用替换替换字符串中的字母表?

java - OSMDroid - map 不显示

java - 在 Java 中编写默认的 Comparator 类

hadoop - 如何在 Hadoop 的 map-reduce 作业中通过自定义比较器对键进行排序?

用于 UTF8 字母的 JAVA 比较器

javascript - 我可以使用 args1>args2 吗? args1 : args2 statement in javascript?