Java LinkedHashMap中的重复项

Java LinkedHashMap中的重复项,java,treemap,linkedhashmap,Java,Treemap,Linkedhashmap,在我的代码中,我使用一组相互交错的LinkedHashMaps,如下所示。代码很好,并给我我想要的结果,除了它自动删除重复。我不知道如何使用TreeMap或Set来保存副本 LinkedHashMap<String, LinkedHashMap<Integer, LinkedHashMap<String, Vector<String>>>> dataAll =new LinkedHashMap<String, LinkedHashMap&l

在我的代码中,我使用一组相互交错的LinkedHashMaps,如下所示。代码很好,并给我我想要的结果,除了它自动删除重复。我不知道如何使用TreeMap或Set来保存副本

LinkedHashMap<String, LinkedHashMap<Integer, LinkedHashMap<String, Vector<String>>>> 
dataAll =new LinkedHashMap<String, LinkedHashMap<Integer, LinkedHashMap<String, 
Vector<String>>>>();
LinkedHashMap
dataAll=newlinkedhashmap();

LinkedHashMap仍然是一个地图数据结构。它将唯一键映射到一个值。如果将两个不同的值指定给一个键,则第二个值将简单地替换指定给该键的第一个值

还可以想象一下,为什么需要复制密钥的映射?Map的唯一目的是提供键/值对之间的一对一关系。它不处理一对多关系

如果必须使用值列表映射键,请使用以下方法:

LinkedHashMap<String, List<..>>
LinkedHashMap

这允许您将一个键映射到值列表。

重复键、值或组合?
Set
不允许重复元素,并且
Map
替换重复键的值。它们就是这样,为什么不试着用
ArrayList
来代替呢?哦,天哪,你在那里制造了一个多么糟糕的维护噩梦啊。使用自定义类而不是映射列表中的映射…可能是Templar和RJ的副本。在地图中不能有重复的关键点,在集合中不能有重复的关键点。我的问题不在于关键点和重复的关键点(因为我甚至不想要它们)。在将值存储到内部linkedhashmap时,我不希望删除重复项哪一个,您有两个内部映射…?对不起,当您说“您不希望删除重复项”时,您的意思是“您不希望删除重复项”吗?或者你的意思是“你不想删除重复的值”。我不想删除重复的值。不应该对绑定到不同键的重复值设置限制。也许是别的什么地方出了问题?您能为重复的值提供代码吗?