我想创建某种结构,其中我可以有重复的键,但值不同。 我使用java, HashMap 很好,但不允许重复的键,我导入了用于多重映射的谷歌 Guava 库,但似乎无法使它工作任何更好的想法或建议? 我想保存多个对象,然后使用键搜索它们,但某些对象将具有相同的键。
寻找java字典
这是我要插入的内容的示例
NP|DET|NOM|
NP|PROPERNOUN|
NOM|NOUN|NOUN|
S|NP|VP|
VP|VERB|NP|
VP|VERB|PP|
最左边的值是键,右边的终端是值
最佳答案
根据定义,Map
不能包含非唯一键。您需要将值存储为Collection
(例如ArrayList
)。
private Map<String, Collection<String>> myDictionary = new HashMap<>();
public void addWord(String word, String definition) {
Collection definitions = myDictionary.get(word);
if(definitions == null) {
definitions = new ArrayList<String>();
myDictionary.put(word, definitions);
}
definitions.add(definition);
}
关于java - 如何创建字典,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16611355/