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、循环链表:
循环链表就是首节点和末节点被连接在一起。循环链表中第一个节点之前就是最后一个节点,反之亦然
网友评论