集合框架知识点

1.Collection是集合List、Set、Queue的接口

2.List有三个实现类,分别是ArrayList,Vector,LinkedList

  1. ArrayList:排列有序,可重复、底层使用数组、查询快,增删慢、线程不安全、当容量不够时,ArrayList是当前容量*1.5+1
  2. Vector: 排列有序,可重复、底层使用数组、查询快,增删慢、线程安全、当容量不够时,Vector默认扩展一倍
  3. LinkedList:排列有序,可重复、底层使用双向链表数据结构、查询慢,增删快、线程不安全

3.Set有 三个实现类,分别是HashSet、TreeSet、LinkedHashSet

  1. HashSet:键不可重复,值可重复、底层使用Hash表实现、存取速度快、内部是HashMap
  2. TreeSet:键不可重复,值可重复、底层使用二叉树实现、顺序存储、内部是TreeMap的SortedSet
  3. LinkedHashSet:采用hash表存储,用双向循环链表记录插入顺序、内部是LinkedHashMap

4.queue:在两端出入的List,可以用数组或链表实现

5.Map的实现类有HashMap、hashtable、TreeMap

  1. HashMap:键不可重复,值可重复、底层数组+链表+红黑树、线程不安全、允许key,value为null
  2. hashtable:键不可重复、值可重复、底层哈希表、线程安全、key,value都不允许为null
  3. TreeMap:键不可重复,值可重复、底层二叉树

6.ArrayList是List的实现类,内部通过数组实现,允许对元素进行快速随机访问,数组的缺点是每个元素之间不能有间隔

7.Vector:vector通过数组实现,它支持线程的同步,某一时刻只有一个线程能够写vector

8.LinkedList:LinkedList是用链表结构存储数据的,适合数据的动态插入和删除。

9.HashSet:哈希表存放的是哈希值,HashSet存储元素的顺序是按照哈希值来存的所以也是按照哈希值来取的

10.TreeSet:TreeSet()是使用二叉树的原理对新add()的对象按照指定的顺序排序,每增加一个对象都会进行排序,将对象插入二叉树指定的位置。

  1. HashMap:HashMap是根据键的hashCode值存储数据,HashMap最多是允许一条记录的键为null,允许多条记录的值为null,HashMap是非线程安全的,如果想要满足线程安全,可以用Collections的synchronizedMap方法使HashMap具有线程安全的能力,或者使用ConcurrentHashMap
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值