参考博客:https://www.cnblogs.com/ysocean/p/6555373.html
Java中的集合有两大类,分别是:Connection、Map。
Collection类的集合可以理解为主要存放的是单个对象,而Map类的集合主要存储的是key-value类型的对象。这两大类即可理所当然的对应着?两个接口,分别是Collection接口
和Map接口
,下面这幅图列出了这两个接口的继承树:
先介绍List的,Set和Map以后再介绍:
LinkedList:从上图可以看出,不但继承了List
接口,还继承了Deque
接口(后面会介绍)。LinkedList是一个基于链表的数据结构,每个节点都保存了上一个和下一个节点的指针。LinkedList对于随机访问效率是比较低的,因为它需要从头开始索引,所以其时间复杂度为O(i)
。但是对于元素的增删,LinkedList效率高,因为只需要修改前后指针即可,其时间复杂度为O(1)
。
synchronized
关键字。
Stack:上面是Stack类源码截图,我们看到Stack类其实继承自Vector,Stack只是在Vector的基础上添加了几个方法以提供栈(Last In First Out LIFO)的特性。Stack的特点是添加时新元素会被添加到顶部,移除时顶部的元素最先被移除。这种数据结构主要用作一些特殊数据加工流程,如语言编译、XML解析等。
原文:https://www.cnblogs.com/wzdnwyyu/p/11142062.html