Java学习笔记——集合之List

List继承Collection接口。是可重复的列表集合,允许加入null元素。

主要实现类为ArrayList、LinkedList、Vector、Stack等。

  • ArrayList底层实现为数组,是一个数组队列。可以动态的增加容量!当集合中对插入元素数据的速度要求不高,但是要求快速访问元素数据,则使用ArrayList! 
  • LinkedList是基于链表实现的,是一个双向循环列表。可以被当做堆栈使用!当集合中对访问元素数据速度不做要求不高,但是对插入和删除元素数据速度要求高的情况,则使用LinkedList!
  • Vector是基于数组实现的,是一个矢量队列,是线程安全的!
  • Stack类:顾名思义就是栈,后进先出原则。

ArrayList类初始化是会构建一个容量为10的列表。当集合中对插入元素数据的速度要求不高,但是要求快速访问元素数据,则使用ArrayList! 

LinkedList是基于链表实现的,是一个双向循环列表,所有插入速度很快,适用于插入操作比较多的场景。当集合中对访问元素数据速度不做要求不高,但是对插入和删除元素数据速度要求高的情况,则使用LinkedList! 

与ArrayList相比   LinkedList可以把元素从列表开头或者结尾加入

LinkedList有两种方法可以把元素增加到列表中一种是add,另一种是offer因为LinkedList同时实现了List<E>、Deque<E>两个接口,所以同时具有这两种特性。

  • 作为List使用时,一般采用add / get方法来 压入/获取对象
  • 作为Queue使用时,才会采用 offer/poll/take等方法

猜你喜欢

转载自blog.csdn.net/qq_33612051/article/details/81505927