当前位置: 首页 > 面试题库 >

Java:如何使用Google的HashBiMap?

微生令
2023-03-14
问题内容

密钥是一个文件和一个单词。该文件给出了文件中的所有单词。单词给出了所有带有单词的文件。我不确定域和共域部分。我希望K为type
<String>,V为type <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的HashBiMap。


问题答案:

更改为

public HashBiMap<String,HashSet<FileObject>> wordToFiles = HashBiMap.create ();

但是看起来还是很奇怪。我认为您应该使用另一个集合。从BiMap文档(HashBiMap要素BiMap):

双向映射(或“双向映射”)是一种保留其值以及其键的唯一性的映射。此约束使bimap可以支持“反向视图”,这是另一个bimap,它包含与此bimap相同的条目,但具有相反的键和值。

我不知道您要解决的问题,但查看代码后,我建议您考虑使用Multimaps。从其文档:

一个类似于Map的集合,但是可以将多个值与单个键相关联。如果使用相同的键但值不同两次调用put(K,V),则多映射将包含从键到两个值的映射。

例如,您可以执行以下操作:

Multimap<String, FileObject> wordToFiles = HashMultimap.create();
wordToFiles.put("first", somefile);
wordToFiles.put("first", anotherfile);
for (FileObject file : wordToFiles.get("first"){
   doSomethingWithFile (file);
}


 类似资料:
  • 问题内容: 尝试访问API时,我正在努力从Google提取请求令牌。我正在收到标准的400回复。我发送的请求几乎与他们提供的OAuth运动场中生成的请求相同。 我正在使用匿名机密/密钥,并构造了如下的基本字符串: 为了调试发送的请求,我在eclipse中设置了TCP / IP监视。但是,这仅监视Http流量,因此,以下内容反映了所请求的内容的99%。 你能告诉我我做错了什么吗?提前致谢。 下面是我

  • 问题内容: 我正在一个项目中,我必须使用REST并使用Java来访问一组Google日历。 该程序位于私人非Google服务器上,定期(通过cron作业)连接到Google帐户,获取链接到该帐户的日历列表,获取每个日历的上个月活动,并返回包含所有内容的XML文件信息。该程序应该能够在没有任何用户输入的情况下执行和访问日历。目前,该项目指定将仅读取日历,而不修改日历(因此将仅进行GET / LIST

  • 问题内容: 我需要能够读取数据并将数据写入电子表格。我正在使用Google App Engine中的Go语言进行编程。 问题答案: 自问及回答此问题以来,已经过去了很多时间。现在,通过golang与Google表格进行交互的功能要好得多。 当前,“ Google Apps脚本执行API”提供了最广泛的访问权限。从这里开始:https : //developers.google.com/apps-

  • 我尝试了一个简单的Java命令行应用程序,它向GoogleApps脚本执行API发出请求。大概是这样的:https://developers.google.com/apps-script/guides/rest/quickstart/java#prerequisites.但它不起作用。 谷歌应用程序脚本编辑器: Java错误:

  • 问题内容: 我正在开发一个应用程序,为用户提供一个界面,用户可以在其中从我们的Google Cloud Storage下载文件。我编写了单元测试,可以连接到存储并下载了一个文件。 现在,我(几乎)完成了界面,我想测试整个应用程序。但是现在我注意到我并没有真正下载文件,而是下载了包含有关要下载文件的META数据的文件。就像是: 我想知道我在做什么错,这是我用来下载文件的代码: 问题答案: 如您所说,

  • 问题内容: 我进行了很多搜索,阅读了许多博客,文章和教程,但是直到现在,仍没有使用Facebook帐户登录到我的应用程序的有效示例。 我知道我必须使用OAuth,获取令牌,授权等。 谁能分享一个例子? 问题答案: 这是我在App Engine上的操作方法: 第1步)在Facebook上注册“应用”(请参阅https://developers.facebook.com/)。您为Facebook指定该