HashSet didasarkan pada HashMap.
Jika kita melihat HashSet<E>
implementasi, semuanya dikelola di bawah HashMap<E,Object>
.
<E>
digunakan sebagai kunci dari HashMap
.
Dan kita tahu bahwa HashMap
itu tidak aman. Itu sebabnya kami ada ConcurrentHashMap
di Jawa.
Berdasarkan ini, saya bingung mengapa kita tidak memiliki ConcurrentHashSet yang harus didasarkan pada ConcurrentHashMap
?
Apakah ada hal lain yang saya lewatkan? Saya perlu menggunakan Set
dalam lingkungan multi-utas.
Juga, Jika saya ingin membuat milik saya sendiri, ConcurrentHashSet
bisakah saya mencapainya dengan hanya mengganti HashMap
to ConcurrentHashMap
dan membiarkan sisanya seperti apa adanya?
ConcurrentSkipListSet
dibangun di atas ConcurrentSkipListMap
, yang mengimplementasikan ConcurrentNavigableMap
dan ConcurrentMap
.