Java 使用集合和地图

Java 使用集合和地图,java,collections,maps,Java,Collections,Maps,我试图给地图中的一个键赋予多个值。我想让这种东西起作用。。 mapp.putkey1,value1 mapp.putkey1,值2。 第一个值value1被value2覆盖。如何保留这两个值?为了实现这一点,我应该使用地图以外的任何其他东西吗?将这两个valyes放入另一个集合向量、集合、堆栈,任何适合您使用的东西;或其他任何内容,并将帽子集合作为值存储在地图中 作为使用向量的随机示例: Vector<Object> myVector = new Vector<Object&g

我试图给地图中的一个键赋予多个值。我想让这种东西起作用。。 mapp.putkey1,value1 mapp.putkey1,值2。
第一个值value1被value2覆盖。如何保留这两个值?为了实现这一点,我应该使用地图以外的任何其他东西吗?

将这两个valyes放入另一个集合向量、集合、堆栈,任何适合您使用的东西;或其他任何内容,并将帽子集合作为值存储在地图中

作为使用向量的随机示例:

Vector<Object> myVector = new Vector<Object>();
myVector.add("value1");
myVector.add("value2");
mapp.put("key1", myVector);

将两个valyes放入另一个集合向量、集合、堆栈,任何适合您使用的集合;或其他任何内容,并将帽子集合作为值存储在地图中

作为使用向量的随机示例:

Vector<Object> myVector = new Vector<Object>();
myVector.add("value1");
myVector.add("value2");
mapp.put("key1", myVector);

如果需要具有该行为的映射,请同时签出多映射

地图不能包含重复的键;每个键最多可以映射到一个值

因此,如果要为单个键输入多个值,需要将这些值添加到列表中,并将key1和list添加到映射中。

来自

HashMap<K, HashSet<V>> map = new HashMap<K, HashSet<V>>();
if(!map.containsKey(k)) {
  map.put(k, new HashSet<V>());
}
map.get(k).add(v);
地图不能包含重复的键;每个键最多可以映射到一个值

因此,如果要为单个键输入多个值,则需要将这些值添加到列表中,并将key1和list添加到映射中

HashMap<K, HashSet<V>> map = new HashMap<K, HashSet<V>>();
if(!map.containsKey(k)) {
  map.put(k, new HashSet<V>());
}
map.get(k).add(v);
如果有重复的值,请使用list/vector而不是hashset


如果有重复的值,请使用list/vector而不是hashset。

您可以将unmap与list一起使用。诸如此类:

Map<String, List<String>> map = new HashMap<String, List<String>>();
对于,将第二个值添加到键1

您可以通过一种方法实现所有这些

public void add(String key, String value) {
    if (!map.containsKey(key)) {
        map.put(key, new LinkedList<String>());
    }
    map.put(key, value);
}

您可以将un映射与列表一起使用。诸如此类:

Map<String, List<String>> map = new HashMap<String, List<String>>();
对于,将第二个值添加到键1

您可以通过一种方法实现所有这些

public void add(String key, String value) {
    if (!map.containsKey(key)) {
        map.put(key, new LinkedList<String>());
    }
    map.put(key, value);
}