加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

java – 如何排序哈希映射列表

发布时间:2020-12-15 02:02:43 所属栏目:Java 来源:网络整理
导读:我有一个HashMap列表,如下所示 ArrayList l = new ArrayList ();HashMap m = new HashMap ();m.add("site_code","AL");m.add("site_name","Apple");l.add(m);m = new HashMap();m.add("site_code","JL");m.add("site_name","Cat");l.add(m);m = new HashMap(
我有一个HashMap列表,如下所示

ArrayList l = new ArrayList ();
HashMap m = new HashMap ();
m.add("site_code","AL");
m.add("site_name","Apple");
l.add(m);
m = new HashMap();
m.add("site_code","JL");
m.add("site_name","Cat");
l.add(m);
m = new HashMap();
m.add("site_code","PL");
m.add("site_name","Banana");
l.add(m)

我想基于site_name对列表进行排序.所以最后它会被归类为.

Apple,Banana,Cat

我正在尝试这样的事情:

Collections.sort(l,new Comparator(){
           public int compare(HashMap one,HashMap two) {
              //what goes here?
           }
});

解决方法

如果你使你的集合变得通用,它最终会看起来像这样:

Collections.sort(l,new Comparator<HashMap<String,String>>(){ 
        public int compare(HashMap<String,String> one,HashMap<String,String> two) { 
            return one.get("site_name").compareTo(two.get("site_name"));
        } 
});

如果由于你被困在1.4或更早版本的平台上而无法使用泛型,那么你必须将get转换为String.

(另外,作为一种风格,我更喜欢将变量声明为List和Map而不是ArrayList和HashMap.但这与问题无关.)

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读