哪个Java集合允许重复的键

我试图编写程序来删除单词列表的重复键值对.但是,如果密钥以不同的值重复,则应允许该记录添加.请帮助我了解哪个Java集合将解决这种情况.

> key1 aaaa
> key2 bbbb
> key3 cccc
> key4 dddd
> key2 bbbb-重复对-不允许
> key1 hhhh-重复密钥-允许
> key5 gggg
> key2 nnnn

解决方法:

您可以使用多图(​​将一组用作值的集合)来进行此操作,这很容易做到.

这是实现的一些基础知识,不是全部,但是无法想象您将需要更多的东西,或者可能是remove方法

编辑

刚刚看到您希望将重复的对扔掉,可以使用一个集合来做到这一点,而不是抛出错误,只是将布尔值还给我们以显示是否已经存在(如果存在则返回false).

public class MultiValueMap<K,V> 
{
    private final Map<K,Set<V>> mappings = new HashMap<K,Set<V>>();

    public Set<V> getValues(K key)
    {
        return mappings.get(key);
    }

    public Boolean putValue(K key, V value)
    {
        Set<V> target = mappings.get(key);

        if(target == null) 
        {
            target = new HashSet<V>();
            mappings.put(key,target);
        }

        return target.add(value);
    }

}
上一篇:java-使用for循环从具有计数的句子中找到重复的单词


下一篇:MySql UUID复制错误