为同一个键设置不同的值时,不会丢失顺序。
例子
Map<String, String> map = new LinkedHashMap<String, String>();
map.put("foo", "bar");
map.put("blah", "baz");
System.out.println(map);
map.put("foo", "foo");
System.out.println(map);
Run Code Online (Sandbox Code Playgroud)
输出
{foo=bar, blah=baz}
{foo=foo, blah=baz}
Run Code Online (Sandbox Code Playgroud)
编辑
“替换”给定值的键意味着删除键值对,然后将新键与存储的值放在一起。
因此,有一个这样做的直接方式LinkedHashMap,甚至可能不被继承和不断变化的行为remove和put。
如果您使用了 LinkedHashMap,我认为没有内置方法可以实现您的目标。您可能想要选择另一个(或设计您自己的)数据结构。
如果你必须在一个linkedhashmap上做,你可以创建一个新的LinkedHashMap,迭代旧的并放入新的,当你的目标条目到来时,用不同的键创建一个新条目,将新条目放入映射中。