【发布时间】:2014-04-27 06:02:16
【问题描述】:
我有一个HashMap,其中的键是字符串。我需要获取密钥并根据密钥大小(即字符串长度)对其进行排序,然后将其存储在一些 ArrayList 中。
注意:如果两个键大小相同,那么我们可以按任意顺序放置。
例如。
hm.put("abc","hi");
hm.put("A","hi");
hm.put("ab","hi");
hm.put("a","hi");
我的 ArrayList 应该按顺序排列元素 abc,ab,a,A。
谁能告诉我最好的方法是什么。
【问题讨论】:
-
您无法对
HashMap进行就地排序;使用自定义Comparator创建一个TreeMap并在其中添加所有HashMap条目。 -
参见
Comparatordocs.oracle.com/javase/7/docs/api/java/util/Comparator.html 思考如何实现它并在sort(keys, yourComparator);中使用它 -
密钥大小是指字符串长度吗?
-
@Duncan - 是的邓肯
标签: java sorting arraylist hashmap