3.1 ArrayList集合
java.util.ArrayList
集合数据存储的结构是数组结构。元素增删慢,查找快,由于日常开发中使用最多的功能为 查询数据、遍历数据,所以 ArrayList 是最常用的集合。
许多程序员开发时非常随意地使用ArrayList完成任何需求,并不严谨,这种用法是不提倡的。但是正常来说ArrayList的增加是直接加在最后一个的,所以其实性能也不能算是慢的,删除的时候如果根据索引进行删除才有可能会变慢一些,但是如果是根据索引进行倒序删除,那其实性能也不会有太大的区别的
3.2 LinkedList集合
java.util.LinkedList
集合数据存储的结构是链表结构。方便元素添加、删除的集合。
LinkedList是一个双向链表,那么双向链表是什么样子的呢,我们用个图了解下
![](https://img.laitimes.com/img/9ZDMuAjOiMmIsIjOiQnIsISPrdEZwZ1Rh5WNXp1bwNjW1ZUba9VZwlHdsATOfd3bkFGazxCMx8VesATMfhHLlN3XnxCMwEzX0xiRGZkRGZ0Xy9GbvNGLpZTY1EmMZVDUSFTU4VFRR9Fd4VGdsYTMfVmepNHLrJXYtJXZ0F2dvwVZnFWbp1zczV2YvJHctM3cv1Ce-cmbw5yM0kjYkZjYlVzMzcDMlV2MjNDO1IWYwYGNhZWZyIWO38CX3EzLchDMxIDMy8CXn9Gbi9CXzV2Zh1WavwVbvNmLvR3YxUjL1M3Lc9CX6MHc0RHaiojIsJye.png)
实际开发中对一个集合元素的添加与删除经常涉及到首尾操作,而LinkedList提供了大量首尾操作的方法。这些方 法我们作为了解即可:
-
:将指定元素插入此列表的开头。public void addFirst(E e)
-
:将指定元素添加到此列表的结尾。public void addLast(E e)
-
:返回此列表的第一个元素。public E getFirst()
-
:返回此列表的最后一个元素。public E getLast()
-
:移除并返回此列表的第一个元素。public E removeFirst()
-
移除并返回此列表的最后一个元素。public E removeLast() :
-
从此列表所表示的堆栈处弹出一个元素。public E pop() :
-
将元素推入此列表所表示的堆栈。public void push(E e) :
-
如果列表不包含元素,则返回true。public boolean isEmpty() :