Java标准库中的键值,键值类[重复]

Posted

技术标签:

【中文标题】Java标准库中的键值,键值类[重复]【英文标题】:Key by value, value by key classes in Java standrad libraries [duplicate] 【发布时间】:2014-05-31 18:43:32 【问题描述】:

请告诉我,标准库中有什么方法可以实现一些简单的字典,如下所示:“a=10,b=11,c=12...”。我知道 HashMap,但据我所知,我们不能按值获取键值,只能按值键值。

【问题讨论】:

会不会也是“无法按值获取 key(s)”? 按值查找没有意义,因为它可以重复,并且可能导致多个键。 我有字母表。你看到一些带有两个等于字母的字母吗?我希望java在没有entryset的情况下有更多的方法来解决这个问题 您的地图中有多少个值?键和值都是唯一的吗? 字母! a=10,b=11...z=.... 1 比 1 唯一 【参考方案1】:

如果 key & value 都是可识别的,并且是 1 对 1,那么你可以写一个有 2 个 Map 的类, 1 映射存储键:值,另一个存储值:键,以便您可以双向进行搜索。

另外,如果键和值有固定的关系,可以通过函数进行转换,那么您可以使用该函数将键和值相互转换。

【讨论】:

【参考方案2】:

看看 Guava BiMap。似乎是您正在寻找的东西。

http://docs.guava-libraries.googlecode.com/git/javadoc/com/google/common/collect/BiMap.html

【讨论】:

他们确实说过标准库。

以上是关于Java标准库中的键值,键值类[重复]的主要内容,如果未能解决你的问题,请参考以下文章

如何在java中制作像枚举一样的键值[重复]

java问题,我想在java中存储键值对,以便使用,但是键值对的键和值都有重复元素,使用hashmap会产生覆盖。

map 中的键值都可以是啥类型的啊

map 中的键值都可以是啥类型的啊

如果在树中嵌套其他值,则获取文本文件(yaml)中的键值[重复]

标准库:collections之orderedDict