我需要的是一个允许多个键访问单个对象的集合。
我需要对该对象进行频繁的更改。
对于500k +条目,它也必须有效。
任何实现都java.util.Map<K,V>
将执行此操作- 在单独的键下可以添加特定值的次数 没有限制 :
Map<String,Integer> m = new HashMap<String, Integer>();
m.put("Hello", 5);
m.put("World", 5);
System.out.println(m); // { Hello->5, World->5 }
如果您想要一个将单个键与多个值相关联的地图,则称为 多地图 ,您可以从google java集合API或Apache的commons-
collections中
获取一个
问题内容: 我认为我的问题与此相似:如何实现具有多个键的Map?但有一个重要的区别。在这个问题中(如果我对它的理解是正确的,请告诉我是否正确),这些键应该总是唯一的。我想要一个Map形式: MyMap ,其中的键不一定是唯一的。如果那没有任何意义,我基本上想要一个二维数组,而不是通过坐标对引用元素,而是通过对象对引用它们。 是否有人对可以在其中工作的图书馆或自己实现此想法的好方法有任何想法?就库而
我遇到的情况是,许多键都指向一个值。这种情况源于我正在实现的服务定位器模式- 接口中的每个方法都表示为签名字符串 因此,我需要在用户请求任何匹配键时检索单个值。 从某种意义上说,我需要一个与Guava的MultiMap相反的东西。 我正在寻找最优化的解决方案,因为我的键非常相似,尽管对于特定值是唯一的,我不确定使用像HashMap这样的通用Map实现是否足够有效来处理这种情况。 例如以下所有签名
我试图将一个键的值链接到另一个键的值,但似乎无法使其工作。 例如,如果我创建一个哈希映射,我希望能够创建一个键值对,比如(“x”,0)。然后,我希望能够将另一个键值对值添加到第一个键值对中,因此,如果我有(“x”,map.get(“y”))和(“y”,0),我希望能够以某种方式将其链接起来,这样,如果我现在更新y,使其(“y”,10),map。得到(“x”);也应该返回10。 我不知道如何让这个工
通常,当哈希映射中的同一个键有多个值时,我找到的答案将使用列表或数组列表来存储值部分。例如: 我想知道是否可以保留hashmap的正常定义并将任何新值附加到旧值(逗号分隔)。类似于这样: } 前面的代码是填充hashmaps,接下来读取单个值时,使用拆分(“,”)并将它们存储在字符串数组中。类似于:
有没有办法创建一个同时包含键和值的映射(我指的是单行代码)?例如,我创建了一个名为map的映射,每当我想添加一对新的键/值时,我都需要使用方法“put”。当我们创建地图时,有没有一种更短的方法来填充它?
问题 怎样实现一个键对应多个值的字典(也叫 multidict)? 解决方案 一个字典就是一个键对应一个单值的映射。如果你想要一个键映射多个值,那么你就需要将这多个值放到另外的容器中, 比如列表或者集合里面。比如,你可以像下面这样构造这样的字典: d = { 'a' : [1, 2, 3], 'b' : [4, 5] } e = { 'a' : {1, 2, 3},