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

如何在Java中创建2向地图

慕鸿波
2023-03-14
问题内容

我需要一个数据结构来以1:1关系存储string-int值对,并且也能够从任何一种方式查找它们的对应对象。

我编写了一个带有Hashtable和String数组的类,并将数据存储了2次,并使用内置函数进行查找。

我的问题是,有没有更好的方法可以做到这一点?更好的是,我的意思是要高效并且不存储2次数据,并且最好不要编写任何代码:P。


问题答案:

看来您可能正在寻找bimap。

Google
Collections(现在是Guava的一部分)包含BiMap具有一些实现的接口。

BiMap文档中:

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

BiMap.inverse方法似乎返回Map以值作为键的键,并以键作为值的键,以便Map可用于调用get该值并检索键。

此外,Map返回的by inverse是基础数据的视图,因此不必为原始数据制作额外的副本。

BiMap.inverse方法文档中:

返回此bimap的反视图,该视图将该bimap的每个值映射到其关联的键。这两个双图由相同的数据支持。对一个的任何更改将显示在另一个中。



 类似资料:
  • 我试图在Java创建一个地图,但失败了。 它告诉我在行的末尾需要或,但是,当我尝试其中一个时,我会收到错误。 将告诉我“映射是抽象的;无法实例化” 将告诉我“应为数组初始值设定项” 我对编码还不太熟悉,所以请对我友好一点,多多忍耐:)

  • 使用亿景智图,您可以生成自己的业务地图,并在线共享和发布这些地图,比如,客户分布图、配送路线图、布局规划图等等。生成一幅地图,基本流程是这样的:新建地图->添加图层->绘制对象(支持批量添加及使用已有数据)->发布地图。这里,为大家介绍,如何构建自定义地图: ● 新建地图 ● 上传Excel/CSV数据 ● 快速添加行政区划 ● 手动绘制地图 ● 搜索添加标注 ● 设置地图名称 ● 设定地图默认视

  • 我试图在Java创建的布局中创建一个地图(GoogleMap)。我不明白为什么在尝试从LinearLayout获取ID时会出现与imageView相关的错误。 这是我的代码: 这是我得到的日志:

  • 所以lv在“v”或“v”后面会有一个“_”,在那之后会有一个整数,比如“_v1”,“_v2”,所以在结尾会是一个整数,但不是任何整数,它应该是整数a。谢谢!

  • 如何创建如下所示的菜单: 链接到PSD 我不想用PSD图像。我更喜欢使用像FontAwesome这样的软件包中的图标,并在CSS中生成背景/CSS。 使用PSD生成工具提示图像然后使用它的菜单版本可以在这里找到。

  • 问题内容: 在搜索如何通过API创建Kafka主题时,我在Scala中找到了以下示例: 最后一个arg 显然是Scala对象。我不清楚如何使该示例在Java中工作。 这篇文章如何在Clojure中创建Scala对象的问题在Clojure中提出了相同的问题,答案是: 我认为Java中的翻译成: 但是,当我尝试使用该方法(或其他任何数量的变体)时,它们都无法编译。 编译错误是: 我正在使用kafka_