Java Map类,可以包含一个值的两个或多个键

nul*_*ull 4 java key map

我正在寻找一个可以包含一个值的两个或更多键的Java Map类.它几乎像apache常见集合中的MultiKeyMap,但它只能使用其中一个键来检索值而不是使用所有键.

例如,使用键"key1"和"key2"在地图中为值"Hello World"创建一个条目:

    map.put("Hello World", "key1", "key2");
Run Code Online (Sandbox Code Playgroud)

然后,如果我想获得价值,我可以使用两种可能的方式:

    String value = map.get("key1");
Run Code Online (Sandbox Code Playgroud)

要么

    String value = map.get("key2");
Run Code Online (Sandbox Code Playgroud)


在MultiKeyMap中,您需要指定所有键来检索值:

    String value = map.get("key1", "key2");
Run Code Online (Sandbox Code Playgroud)


更新:
人们告诉我使用常规的Map类,但我不确定具有指向相同值的两个键的映射是否会在内存中生成两个重复值.所以任何人都可以确认一下

dbr*_*rin 6

为什么不在常规地图中重复每个键的值?

  • Map将仅保存对象的引用,而不是复制它. (3认同)