HashSet si basa su HashMap.
Se guardiamo HashSet<E>all'implementazione, tutto è gestito sotto HashMap<E,Object>.
<E>è usato come chiave di HashMap.
E sappiamo che HashMapnon è thread-safe. Ecco perché abbiamo ConcurrentHashMapin Java.
Sulla base di questo, sono confuso dal fatto che non abbiamo un ConcurrentHashSet che dovrebbe essere basato sul ConcurrentHashMap?
C'è qualcos'altro che mi manca? Devo usare Setin un ambiente multi-thread.
Inoltre, se voglio crearne uno mio ConcurrentHashSetposso ottenerlo semplicemente sostituendo il HashMapto ConcurrentHashMape lasciando il resto com'è?
ConcurrentSkipListSetè basato su ConcurrentSkipListMap, che implementa ConcurrentNavigableMape ConcurrentMap.