HashSet basiert auf HashMap.
Wenn wir uns die HashSet<E>Implementierung ansehen , wird alles unter verwaltet HashMap<E,Object>.
<E>wird als Schlüssel von verwendet HashMap.
Und wir wissen, dass HashMapdas nicht threadsicher ist. Deshalb haben wir ConcurrentHashMapin Java.
Aufgrund dessen bin ich verwirrt, warum wir kein ConcurrentHashSet haben, das auf dem basieren sollte ConcurrentHashMap.
Fehlt mir noch etwas? Ich muss Setin einer Multithread-Umgebung verwenden.
Wenn ich meine eigenen erstellen möchte, ConcurrentHashSetkann ich dies erreichen, indem ich einfach das HashMapto ersetze ConcurrentHashMapund den Rest unverändert lasse?
ConcurrentSkipListSetbaut darauf auf ConcurrentSkipListMap, was ConcurrentNavigableMapund implementiert ConcurrentMap.