HashSet se basa en HashMap.
Si nos fijamos en la HashSet<E>
implementación, todo se gestiona bajo HashMap<E,Object>
.
<E>
se usa como clave de HashMap
.
Y sabemos que HashMap
no es seguro para subprocesos. Por eso tenemos ConcurrentHashMap
en Java.
En base a esto, estoy confundido porque no tenemos un ConcurrentHashSet que debería basarse en el ConcurrentHashMap
?
¿Hay algo más que me estoy perdiendo? Necesito usar Set
en un entorno multiproceso.
Además, si quiero crear el mío, ConcurrentHashSet
¿puedo lograrlo simplemente reemplazando el HashMap
to ConcurrentHashMap
y dejando el resto como está?
ConcurrentSkipListSet
se basa ConcurrentSkipListMap
, que implementa ConcurrentNavigableMap
y ConcurrentMap
.