我有一个具有约20个属性的复杂Java Bean。在我的业务逻辑中,我正在生成此Bean的大约10 ^ 5个唯一实例。
Bean具有复杂且性能昂贵的equals方法。
我的API签名很旧,我只能在HashSet数据结构中返回数据。
我的要求是从唯一的实例生成此HashSet,而无需调用Bean的equals方法来优化流。
可能吗?
可以保证,要插入到HashSet中的数据是事先唯一的。
IdentityHashMap
当两个键具有相同的哈希码时,使用==
而不是equals()
比较键。
您可以从中创建一个集合:
Set<E> set = Collections.newSetFromMap(new IdentityHashMap<>());
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句