如何将重复值添加到地图?

时间:2017-10-22 10:37:23

标签: java collections

众所周知,map不允许重复值,但有没有办法向地图添加重复值。我需要将重复的Key和Value添加到地图中,例如

1    A
1    C
1    D
2    D
2    G.

当它放到地图上时,它只返回1 D和2 G.我已经尝试了谷歌Multimap但是有迭代问题。是否有任何可能解决这个问题或者采取什么方法来允许重复值到地图。

3 个答案:

答案 0 :(得分:0)

您可以使用地图,但可以定义它以保存每个键的值列表...

Map<String, List<Points>> myMap = ....

现在您需要小心地将这些值附加到每个存在的键上,这样您就应该myMap.put(1, A),而是通过1获取值,如果存在则调用value.add(A)

答案 1 :(得分:0)

您不会向Map添加重复的键值。但是您可以创建Map <Key, Collection <Value>>并将值添加到密钥后面的集合中。

答案 2 :(得分:-1)

如果你只需要一个特殊情况的Multimap,你可以简单地创建一个像

这样的数据对象

class Multivalue

String(或Object,无论如何)valueOne    字符串值两个

HashMap Integer,Multivalue map = new HashMap Integer,Multivalue()