键映射到HashMap中的相同值?

时间:2014-03-27 18:05:28

标签: java

正如标题所说,如果地图中的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;
    }

提前致谢

1 个答案:

答案 0 :(得分:6)

最简单的方法是将值放入集合中。由于集合不能包含重复值,因此如果集合的大小等于地图的大小,则地图不包含任何重复值。

public static boolean areValuesUnique(Map<?,?> map) {
    return new HashSet<>(map.values()).size() == map.size();
}