编辑:现在正确解释问题.
我有一个hashmap,我想存储一起看到的单词组(键)和它们在一起看到的行(值).这是我提出的结构:
HashMap<HashSet<String>, HashSet<Integer>> hm= ...
Run Code Online (Sandbox Code Playgroud)
输入:
芒果,香蕉,苹果
苹果,香蕉
桃子,海象
海象,桃子
当我逐行阅读时,我从行中的单词组合中创建新的临时键(尚未插入到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)
一段代码并不总是检测现有的密钥.为什么是这样?这种结构不允许吗?
谢谢