05_CopyOnWriteArraySet

1、底層結構java

   HashSet的底層是HashMap;CopyOnWriteArraySet的底層是CopyOnWriteArrayList安全

2、Set的特性:元素惟一,不能重複多線程

public boolean contains(Object o) {
        return al.contains(o);//最終調用的是 CopyOnWriteArrayList的indexOf, 對當時的快照表進行逐一對比
    }

    public boolean add(E e) {
        return al.addIfAbsent(e);//若是不存在,則寫入
    }

3、 CopyOnWriteArraySet  並若是HashSet查找快速,而是從頭遍歷比較。查找性能比較差。性能

    只是在多線程寫入的時候,比HashSet安全(在多線程時,本身必須線程同步)。線程

本站公眾號
   歡迎關注本站公眾號,獲取更多信息