Hashset dựa trên HashMap.
Nếu chúng ta nhìn vào HashSet<E>việc thực hiện, mọi thứ đều được quản lý theo HashMap<E,Object>.
<E>được sử dụng như là một chìa khóa của HashMap.
Và chúng tôi biết rằng đó HashMapkhông phải là chủ đề an toàn. Đó là lý do tại sao chúng ta có ConcurrentHashMaptrong Java.
Dựa trên điều này, tôi bối rối rằng tại sao chúng ta không có một concảnHashset nên dựa trên ConcurrentHashMap?
Có điều gì khác mà tôi đang thiếu? Tôi cần sử dụng Settrong một môi trường đa luồng.
Ngoài ra, Nếu tôi muốn tạo của riêng tôi ConcurrentHashSettôi có thể đạt được điều đó bằng cách thay thế HashMapđể ConcurrentHashMapvà để lại phần còn lại như là?
ConcurrentSkipListSetđược xây dựng dựa trên ConcurrentSkipListMap, nó thực hiện ConcurrentNavigableMapvà ConcurrentMap.