java - 在 LinkedHashMap 中按字母顺序对键进行排序

标签 java sorting key linkedhashmap

我有一个 LinkedHashMap,我想按字母顺序对它的键(字符串)进行排序。但是,它不适用于 Collections.sort() 方法,因为它既不采用 LinkedHashMap 本身,也不采用 LinkedHashMap 的键集。

我唯一的选择是在填充 LinkedHashMap 时手动对它们进行排序,但在这样做之前我想知道是否有人知道更好的方法。

最佳答案

更好的方法是使用支持订单的 Map,例如 TreeMap。

但是,如果您的设计有问题且无法修复,您可以这样做。

 LinkedHashMap<String, String> map = ...
 TreeMap<String, String> copy = new TreeMap<>(map);
 map.clear();
 map.putAll(copy);

这确实可行,但如果您添加一个键,您的 map 将不再排序。

关于java - 在 LinkedHashMap 中按字母顺序对键进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32047657/

相关文章:

c - 如何使用 n - 1 个线程对 n 个元素的数组进行排序

python - 使用 readchar 包在 python 中读取字符

java - 分号抢

javax.servlet.ServletException : javax. crypto.IllegalBlockSizeException:使用填充密码解密时,输入长度必须是 16 的倍数

javascript - 为什么 numberArray.sort() 在 JavaScript 中不能正确排序数字?

javascript - React Js-无法将 html 标签内的 prop 值视为键

python - 如何按版本键对字典进行排序

java - 从 Assets 获取 JSON 数组数据

java - B+树先插入

c++ - "member function already defined or declared"- 这是什么意思?