我有一组对象,让我们称它们为 A、B、C、D...,其中一些与其他对象相同。如果 A 和 C 相等,那么我想用对 A 的引用替换对 C 的每个引用。这意味着 (a) 对象 C 可以被垃圾收集,释放内存,以及 (b) 我以后可以使用“==”比较对象而不是昂贵的equals()
操作。(这些对象很大,equals()
操作很慢。)
我的直觉是使用java.util.Set
. 当我遇到 CI 时可以很容易地看到是否有Set
等于 C的条目。但如果有,似乎没有简单的方法可以找出该条目是什么,并替换我对现有条目的引用。我错了吗?遍历所有条目以找到匹配的条目显然是不可能的。
目前,Set
我使用的不是 a ,而是 a ,Map
其中的值始终与键相同。调用map.get(C)
然后找到 A。这有效,但感觉非常复杂。有没有更优雅的方式来做到这一点?
偶然的你
相关分类