集合中的并发

来源:互联网 发布:macbook怎么显示软件 编辑:程序博客网 时间:2024/06/06 08:41

一、JAVA中集合包括Collection和Map

1.Collection接口

①List  允许重复  可存储多个null
vector 底层数组实现  2倍增长 线程同步 效率较低
ArrayList 底层数组实现 1.5倍增长 非线程同步  效率高   
  List list = Collections.synchronizedList(new ArrayList(...)); 此方法可以创建同步ArrayList
linkedList 底层链表实现 增删快查询慢   非线程同步
List list = Collections.synchronizedList(new LinkedList(...));此方法可以创建同步LinkedList
②Set 底层map - key实现不可存储重复元素  最多可存储一个null
HashSet底层hash结构
treeSet底层二叉树结构
linedhashSet底层linked 和 hash结构
③Map (key-value)
hashMap   此实现不是同步的 允许使用 null 值和 null 键

hashTable  Hashtable 是同步的  任何非 null 对象都可以用作键或值

concurrentHashMap  支持获取的完全并发和更新的所期望可调整并发的哈希表;尽管所有操作都是线程安全的,但获取操作 必锁定,并且 支持以某种防止所有访问的方式锁定整个表; 允许将 null 用作键或值
treeMap  此实现不是同步的;根据其键的自然顺序进行排序
原创粉丝点击