单列集合:Collection

avatar
作者
猴君
阅读量:0
1、List接口
1.1 特点
(1)有序 (2)查找效率高:根据key,查看value 
1.2 数据结构
数组(哈希表)+链表(链地址法解决哈希表冲突)+红黑树(自平衡的二叉树。提高查找效率) 
1.3 常见实现类
线程不安全:
1.3.1 ArrayList
1.数据结构   数组 Object[] elementData 2.使用场景   查找、遍历,插入、删除效率低 3.扩容 (1)初始化: 	a.无参构造方法,数组的初始化容量为0;添加第一个元素时,数组容量扩容为10 	b.有参构造方法:数组按照指定容量扩容 (2)容量不足时: 	按照现有数组的1.5倍扩容 
1.3.2 LinkedList
1.数据结构   链表:双向链表 2.使用场景   插入、删除效率高,查找效率低 3.扩容方式   链表动态扩容,每添加一个节点,链表动态扩容一个元素空间 
线程安全:
1.3.3 Vector
1.数据结构   数组 Object[] elementData 2.扩容方式 (1)初始化: 	a.无参构造方法:数组的初始化容量为10 	b.有参构造方法:数组按照指定容量初始化 (2)容量不足时: 	按照数组现有容量的2倍或指定容量值(capacityIncreament)进行扩容 3.线程安全   通过"synchronized"同步锁实现 
1.3.4 Stack
特点:先进后出FILO 或者 后进先出LIFO 
1.3.5 CopyOnWriteArrayList
1.数组结构   数组 Object[] array 2.线程安全   a.通过"ReenTrantLock"锁实现   b.CopyOnWrite:"写入"操作时,先进行数组复制,然后在新数组进行写入操作,然后替换;允许读写同时进行 
2、Set 接口
2.1 特点
无需,不允许重复(值唯一) 
2.2 常见实现类
2.2.1 HashSet
1.特点:无序 2.数据结构:HashMap 
2.2.2 LinkedHashSet
1.特点:有序 2.数据结构:LinkedHashMap 
2.2.3 TreeSet
1.特点:自动排序 2.数据结构:TreeMap 

3、Queue 接口

1.特点   先进先出FIFO,队头出队,队尾入队 2.常见实现类 (1)线程不安全: 	a.LinkedList:基于“双向链表”实现的队列 	b.PriorityQueue:基于“堆”实现的优先队列 (2)线程安全: 	BlockingQueue:阻塞队列 	  a.ArrayBlockingQueue(有界) 	  b.LinkedBlockingQueue(无界) 

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!