Tengo un Java Bean complejo con ~20 atributos. En mi lógica empresarial, estoy generando alrededor de 10^5 instancias únicas de este Bean.
El bean tiene un método de igual a complejo y costoso en cuanto a rendimiento .
La firma de mi API es antigua y solo puedo devolver los datos en una estructura de datos HashSet.
Necesito generar este HashSet a partir de instancias únicas sin invocar el método equals del bean para optimizar el flujo.
¿Es posible?
Está garantizado, los datos a insertar en HashSet son únicos de antemano.
IdentityHashMap usa == en lugar de equals() para comparar claves cuando dos de ellas tienen el mismo código hash.
Puedes crear un conjunto a partir de él:
Set<E> set = Collections.newSetFromMap(new IdentityHashMap<>());