为不同的键存储相同的值。 [爪哇]

Posted

技术标签:

【中文标题】为不同的键存储相同的值。 [爪哇]【英文标题】:Store same values for different key. [Java] 【发布时间】:2020-02-21 16:51:24 【问题描述】:

我正在尝试创建一个包含值和键的列表,但我希望值保持不变,并且只有多个键。 所以这只是一个例子:

        Map<String, Integer> map = new HashMap<>();
        String str = "hey";
        for(int i = 0; i < 20; i ++)
             map.put(str, i);
        

这只是一个例子。 但是我将如何添加相同的字符串和不同的键?我不需要使用 HashMap 还是可以使用它? (因为 HashMap 对我来说不是必需的,只要它存储 2 个值对我有好处)

【问题讨论】:

键应该是唯一的 你希望 i 是常量还是 str? 键是唯一的,我每次都将它分配给不同的“i”,但它只是用新键覆盖之前的集合。 @Destinations 不,您将str 作为键。这是put(key, value) omg @Kayaman ,我觉得自己像个白痴,问题已解决,谢谢。 【参考方案1】:

您可以将Map 与列表或设置值一起使用

Map<String, Set<Integer>> map = new HashMap<>();
String str = "hey";
for(int i = 0; i < 20; i ++)
 if(map.get(str) == null)  map.put(str, new HashSet<>());
 map.get(str).add(i);


【讨论】:

以上是关于为不同的键存储相同的值。 [爪哇]的主要内容,如果未能解决你的问题,请参考以下文章

为 mac 催化剂的 info.plist 文件中的键设置不同的值

C# MemoryCache 用于 2 种不同类型的键?

通过电子邮件发送的 NSDictionary 文件与应用程序中的相同文件不同

连接两个具有不同键名的表

加入相同的字段,不同的数据类型

使用相同的键合并来自不同对象的数组