【发布时间】:2017-06-12 10:01:41
【问题描述】:
我有一个 Map 实现,我必须创建一个查询,使用值名称字段我需要将 Key 返回到该对象。
一种方法是通过 KeySet 使用迭代器并检查每个 Value,但效率不高。
时间是一个重要因素。
是否有任何有趣的解决方案/库可以做到这一点?
【问题讨论】:
-
如果您需要按值快速查找键,并且您的 Map 很大,您应该考虑创建第二个 Map,其中原始值是键,原始键是值。
-
@Eran - 假设键和值都是唯一的。
-
如果键不是唯一的,您的第二张地图可能看起来像
Map<V, List<K>> -
@Forin 请考虑我的解决方案。谢谢
标签: java collections hashmap concurrenthashmap