我有下面的树图代码,我在其中存储重复的密钥,它似乎覆盖了现有的密钥。
TreeMap<String, Integer> tm=new TreeMap<>();
tm.put("vivek", 1);
tm.put("vivek", 2);
System.out.println(tm);
它打印{vivek=2}
那么这意味着地图允许在关键基础上覆盖?
所有映射都具有相同的基本属性,其中之一是所有键必须是唯一的。因此为什么keySet()
返回一个Set
.
要完成您正在寻找的任务,您需要一个 Multimap - 它本质上是一个列表的映射。
Map<Integer, List<String>> multiMap;
要添加对象,请获取该键的列表,如果为空,则添加一个列表,然后将您的值添加到列表中,否则只需将您的值添加到现有列表中。
各种第三方库中提供了一些多重映射实现,或者很容易实现您自己的。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)