繁体   English   中英

键映射到HashMap中的相同值?

[英]Keys mapping to same values in HashMap?

如标题所示,如果映射中的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;
    }

提前致谢

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM