小编stu*_*101的帖子

我可以将HashSet作为HashMap中的键吗?如果没有建议替代方案

编辑:现在正确解释问题.

我有一个hashmap,我想存储一起看到的单词组(键)和它们在一起看到的行(值).这是我提出的结构:

HashMap<HashSet<String>, HashSet<Integer>> hm= ...
Run Code Online (Sandbox Code Playgroud)

输入:

  1. 芒果,香蕉,苹果

  2. 苹果,香蕉

  3. 桃子,海象

  4. 海象,桃子

当我逐行阅读时,我从行中的单词组合中创建新的临时键(尚未插入到hashmap中的哈希集).每个临时密钥是该行中单词的子集的哈希集.如果我的hashmap中已经存在临时密钥,我将检查它

if(hashmap.containsKey(hashset))
Run Code Online (Sandbox Code Playgroud)

我只是将新行添加到该键的相应值,如果没有,我在hashmap中创建一个新条目并处理它.

我决不改变现有的密钥.我只更新hasmmap中的相应值.

我的hashmap在读取文件的最后应该看起来像这样

[苹果,香蕉] = [1,2]

[桃子,海象] = [3,4]

...

问题是,

if(hashmap.containsKey(hashset))
Run Code Online (Sandbox Code Playgroud)

一段代码并不总是检测现有的密钥.为什么是这样?这种结构不允许吗?

谢谢

java hashmap set hashset

5
推荐指数
2
解决办法
3394
查看次数

标签 统计

hashmap ×1

hashset ×1

java ×1

set ×1