java - 如何在 LinkedHashMap 的特定索引/位置添加元素?

标签 java collections linkedhashmap

我有一个有序的 LinkedHashMap,我想在特定索引处添加元素,比如在 map 的第一位或最后一位。 如何在 LinkedHashMap 中的特定位置添加元素?

即使我可以在 LinkedHashMap 的 FIRST 或 LAST 位置添加一个元素也会有所帮助!

最佳答案

您可以将此元素添加到 1. 或最后一个位置:

添加到最后一个位置 ► 您只需从 map 中删除上一个条目,如下所示:

map.remove(key);
map.put(key,value);

添加到首位►有点复杂,你需要克隆 map ,清除它,给它加上1.值,然后把新的 map 放到它上面,像这样:

我正在使用带有字符串键和组(我的自定义类)值的 map :

LinkedHashMap<String, Group> newMap=(LinkedHashMap<String, Group>) map.clone();
map.clear();
map.put(key, value);
map.putAll(newMap);

如您所见,使用这些方法,您可以在 map 的开头和结尾添加无限数量的东西。

关于java - 如何在 LinkedHashMap 的特定索引/位置添加元素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7679819/

相关文章:

Android LinkedHashMap.eldest() 方法不可用

java - 无法使用基于 JMS 的代码和 amqp 1.0 访问 ActiveMQ

java - 我可以在 anchor 标记中使用 include 指令吗?

ios - 在 swift : Difference between Array VS NSArray VS [AnyObject]

c# - 创建可以绑定(bind)到 DataGrid 的自定义集合

java - 实现父/子并获取记录集如果我给出父名称

java - 使用 JSON/Gson 读取 JSON 字符串

java - 字节文字上的编译器错误 "Incompatible types"

algorithm - 查找数组中的特殊数字

java - 提取 List<String> 数据以匹配 LinkedHashMap<Integer, List<String>>