key 是一个文件和一个词。该文件给出了文件中的所有单词。这个词给出了所有有这个词的文件。我不确定域和共同域部分。我希望K为<String>
类型,V为<HashSet<FileObject>>
类型。
public HashBiMap<K<String>,V<HashSet<FileObject>>> wordToFiles
= new HashBiMap<K<String>,V<HashSet<FileObject>>>();
public HashBiMap<K<String>,V<HashSet<FileObject>>> fileToWords
= new HashBiMap<K<String>,V<HashSet<FileObject>>>();
Google's HashBiMap.
最佳答案
将其更改为
public HashBiMap<String,HashSet<FileObject>> wordToFiles = HashBiMap.create ();
但它看起来仍然很奇怪。我认为你应该使用另一个集合。来自
BiMap
文档( HashBiMap
impelements BiMap
):我不知道您要解决的问题,但在查看您的代码后,我可以建议考虑使用 Multimaps。从其文档中:
例如,您可以执行以下操作:
Multimap<String, FileObject> wordToFiles = HashMultimap.create();
wordToFiles.put("first", somefile);
wordToFiles.put("first", anotherfile);
for (FileObject file : wordToFiles.get("first"){
doSomethingWithFile (file);
}
关于Java:如何使用 Google 的 HashBiMap?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/2574685/