2020-01-03

List,Set , Map

  List

ArrayList

1.ArrayList是基于数组的方式实现的,本身是没有容量限制的

2.ArrayList的默认初始化容量为10,当调用add方法后,会判断容量是否够,不够的话会进行扩容(x1.5),在删除元素时,容量不会减少(如何想减小容量调用trimToSize())

3.ArrayList是线程不安全的

G A B C D  

LinkedList


Vector


Stack

 Set

HashSet(内部实现是HashMap,只用了hashMap的key)


1、那么先从单向链表着手,先看看单向链表的模拟图:

单向链表包含两个域,一个是信息域,一个是指针域。也就是单向链表的节点被分成两部分,一部分是保存或显示关于节点的信息,第二部分存储下一个节点的地址,而最后一个节点则指向一个空值。

2、双向链表:

从上图可以很清晰的看出,每个节点有2个链接,一个是指向前一个节点(当此链接为第一个链接时,指向的是空值或空列表),另一个则指向后一个节点(当此链接为最后一个链接时,指向的是空值或空列表)。意思就是说双向链表有2个指针,一个是指向前一个节点的指针,另一个则指向后一个节点的指针。

3、循环链表:

循环链表就是首节点和末节点被连接在一起。循环链表中第一个节点之前就是最后一个节点,反之亦然

你可能感兴趣的:(2020-01-03)