java有没有一种有效的方法来检查HashMap是否包含映射到相同值的键?
我基本上需要知道HashMap是否有映射到同一个值的不同键。我想知道除了检查每个键的值与地图中的所有其他值之外,是否还有其他方法
更新: 只是一些更多的信息,希望能澄清我想要实现的目标。考虑一个字符串“AZZA”。假设我在这个字符串上迭代,并将每个字符存储为一个键,它对应的值是另一个字符串。比如说,我最终找到了“a”的最后一个匹配项,该值已经出现在地图上了。如果与映射中已经存在的值对应的键也是“a”,则可以这样做。当“a”和“z”都映射到同一个值时,就会出现我的问题。仅当不同的键映射到相同的值时
# 1 楼答案
当然,编码和执行的最快速度是:
在O(n)时间内执行
集合不允许重复,因此如果存在重复,集合将小于值列表
# 2 楼答案
您可以迭代这些键,并将当前值保存在集合中。 但是,在将该值插入集合之前,请检查集合是否已包含该值
如果这是真的,则表示上一个键已经包含相同的值