正如标题所说,如果地图中的2个字符串键没有相同的字符串值,则必须编写一个方法来说明,否则为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;
}
提前致谢
答案 0 :(得分:6)
最简单的方法是将值放入集合中。由于集合不能包含重复值,因此如果集合的大小等于地图的大小,则地图不包含任何重复值。
public static boolean areValuesUnique(Map<?,?> map) {
return new HashSet<>(map.values()).size() == map.size();
}