如何在java中创建一组唯一值而不进行比较

yebdmbv4  于 2021-07-06  发布在  Java
关注(0)|答案(1)|浏览(325)

关闭。这个问题需要更加突出重点。它目前不接受答案。
**想改进这个问题吗?**通过编辑这篇文章更新这个问题,使它只关注一个问题。

上个月关门了。
改进这个问题
我有一个复杂的javabean,有大约20个属性。在我的业务逻辑中,我生成了大约10^5个这个bean的独特示例。
bean有一个复杂且性能昂贵的方法。
我的api签名很旧,只能以hashset数据结构返回数据。
我的要求是从唯一示例生成这个hashset,而不调用bean的equals方法来优化流。
有可能吗?
可以保证,在hashset中插入的数据是唯一的。

ttisahbt

ttisahbt1#

IdentityHashMap 使用 == 而不是 equals() 当两个密钥具有相同的哈希代码时比较它们。
您可以从中创建一个集合:

Set<E> set = Collections.newSetFromMap(new IdentityHashMap<>());

相关问题