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安全(在多线程时,本身必须线程同步)。线程

本站公众号
   欢迎关注本站公众号,获取更多信息