gpt4 book ai didi

java - 如何从 map 中检索关键对象?

转载 作者:搜寻专家 更新时间:2023-11-01 03:06:04 25 4
gpt4 key购买 nike

获取同一个类 A 的两个实例,称为 foo 和 bar,其中:

foo != bar
foo.equals(bar) == true

换句话说,foo 和 bar 是不同的实例,但具有相同的哈希码。现在以 Map<A,B> 为例称为“ map ”,其中 foo 是 map 中的键。是否可以使用 bar 从 Map 中检索 foo?目前我遍历键集并比较每个键,但是有没有更快的方法? Map 中似乎没有任何用于检索键的方法。

我愿意尝试任何实现 Map 或可以像 map 一样工作的数据结构。

我为什么要这样做?我试图避免保留不必要的实例。一旦找到 foo,我就可以释放 bar。

提前致谢...

最佳答案

您可以使用 Apache Commons Collections ™ .它有双向 map BidiMap
这些表示键可以在其中查找值并且值可以同样轻松地查找键的映射。

BidiMap bidi = new TreeBidiMap();
bidi.put("SIX", "6");
bidi.get("SIX"); // returns "6"
bidi.getKey("6"); // returns "SIX"
bidi.removeValue("6"); // removes the mapping
BidiMap inverse = bidi.inverseBidiMap(); // returns a map with keys and values swapped

另见

关于java - 如何从 map 中检索关键对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21926480/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com