java – 输入重复键时保持原始键/值的Hashmap

输入重复键时,Hashmap是否可以保留其原始键/值对?

例如,假设我有这样的事情:

Map<String, String> map = new HashMap<String, String>();

map.put("username","password1");
map.put("username","password2");

我想要原始的键/值对 – 用户名,密码1保留,不要被用户名,密码2覆盖.

这可能吗?如果没有,我如何消除重复的条目被放入地图?

解决方法:

如前所述,如果使用Java 8,则可以使用putIfAbsent.

如果您使用的是较旧的Java版本,则可以使用ConcurrentHashMap,它具有putIfAbsent方法.

当然,您获得了线程安全的额外开销,但如果您不编写性能极其敏感的应用程序,则不应该担心.

上一篇:mysql – 在列中的每个副本上递增计数器


下一篇:Python删除组合字典列表中的重复值