【发布时间】:2012-03-24 16:12:48
【问题描述】:
如何对 LinkedHashMap 的 Arraylist 进行排序
前任。
ArrayList<LinkedHashMap<String, String>> list = new ArrayList<LinkedHashMap<String, String>>();
LinkedHashMap<String, String> linkedHashMap = new LinkedHashMap<String, String>();
linkedHashMap.put("city", "AB");
linkedHashMap.put("name", "N");
linkedHashMap.put("area", "xyz");
list.add(linkedHashMap);
linkedHashMap = new LinkedHashMap<String, String>();
linkedHashMap.put("city", "BA");
linkedHashMap.put("name", "AB");
linkedHashMap.put("area", "xyz");
list.add(linkedHashMap);
linkedHashMap = new LinkedHashMap<String, String>();
linkedHashMap.put("city", "CH");
linkedHashMap.put("name", "AB");
linkedHashMap.put("area", "PQ");
list.add(linkedHashMap);
上面是我的 LinkedHashMap ArrayList & 我想以 Ref 为键对值进行排序(如按城市排序或按名称排序)
我已经使用 Collection.Sort 和可比较完成了 LinkedHashMap(Without Arraylist) 排序。
但是我如何对 LinkedHashMap 的 Arraylist 进行排序(使用循环或迭代器可能是可能的,但还有其他简单的方法吗?)
谢谢
【问题讨论】:
-
ArrayList
只有在 T 实现 Comparable 接口时才能排序。所以你需要设计一个自定义的 LinkedHashMap 类实现 Comparable 然后使用 Collections.sort() 对它们进行排序。 -
我建议使用实体(pojo)而不是存储对象的链接哈希图,它可以帮助您实现比较器。您可以通过简单的谷歌搜索“如何在 java 中对 ArrayList 进行排序”找到十几个链接。希望这会有所帮助。
标签: java sorting collections hashmap linkedhashmap