HashSet основан на HashMap.
Если мы посмотрим на HashSet<E>реализацию, все было под управлением HashMap<E,Object>.
<E>используется в качестве ключа HashMap.
И мы знаем, что HashMapэто не потокобезопасно. Вот почему у нас ConcurrentHashMapв Java.
Исходя из этого, я запутался, что почему у нас нет ConcurrentHashSet, который должен основываться на ConcurrentHashMap?
Есть ли что-то еще, что мне не хватает? Мне нужно использовать Setв многопоточной среде.
Кроме того , если я хочу , чтобы создать свой собственный ConcurrentHashSetя могу добиться этого, просто заменив HashMapна ConcurrentHashMapи оставить остальное как есть?
ConcurrentSkipListSetна том ConcurrentSkipListMap, что реализует ConcurrentNavigableMapи ConcurrentMap.