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中存储键值对,以便使用,但是键值对的键和值都有重复元素,使用hashmap会产生覆盖。