单列集合:Collection

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(无界)
  • 5
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值