正如标题所示,我必须编写一个方法,如果映射中的 2 个字符串键没有相同的字符串值,则为 true,否则为 false。我编写了以下方法。但是,它在所有情况下都返回 true。这里的建议会有所帮助。
public static boolean isUnique(Map<String,String> map)
{
Iterator<String> iter=map.keySet().iterator();
while(iter.hasNext())
{
String s=iter.next();
if(map.containsValue(s))
return false;
}
return true;
}
提前致谢
最佳答案
最简单的方法是将值放入集合中。由于集合不能包含重复值,因此如果集合的大小等于 map 的大小,则 map 不包含任何重复值。
public static boolean areValuesUnique(Map<?,?> map) {
return new HashSet<>(map.values()).size() == map.size();
}
关于java - HashMap 中的键映射到相同的值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22695739/