【发布时间】:2018-01-07 06:51:49
【问题描述】:
我想按升序对 HashMap 进行排序。它适用于我编写的这段代码
//HashMap<String[], Boolean> literalTable = new HashMap<>(); // declared some where in my code
ArrayList<String[]> arrayList = new ArrayList<>();
for (int i = 0; i < literalTable.size(); ++i){
String[] str = {};
arrayList.add(str);
}
for (Map.Entry m: literalTable.entrySet()){
String[] str = (String[]) m.getKey();
Integer index = Integer.parseInt(str[0]);
arrayList.set(index, str);
}
arrayList.sort(Comparator.comparing(p -> p[0]));
我的问题是,有什么方法可以完成同样的任务吗? 我用谷歌搜索并找到了一个解决方案,它说您可以使用 TreeMap,但效果不佳。
【问题讨论】:
-
您想按字符串数组中的 0 索引值对地图进行排序吗?
-
是的,名字出现在第一个索引中
-
您可以使用
TreeMap或LinkedHashMap来获得有序条目,查看使用两者发布的答案