本文只对List中一些常用实现类进行粗略的介绍,后续会深入了解这几个常用的实现类。
List--列表
List是Java中比较常用的集合类,它继承于Collection的接口。List中存放的元素是可以重复的,并且有序。这里所指的有序并非是元素的升序降序,而是指List按照元素插入的先后顺序进行存储,即存放的位置与插入的顺序相关。
List常用的实现类
首先我们来看一下List的结构图
可以看出List中的实现类有以下四个:
- LinkedList
- ArrayList
- Vector
- Stack
下边我们依次来了解这几个实现类。
LinkedList
LinkedList的底层是通过双向链表实现的,LinkedList通过连接指针来关联前后两个元素,由于链表的特性,LinkedList的增删性能会比其他List的实现类更优。
ArrayList
ArrayList的底层是通过数组来实现的,并且是长度可变的数组。由于数组的特性,在访问的性能上相对于LinkedList来说会更好。
Vector
Vector类也实现了List接口,也用于表述长度可变的对象数组表列。与ArrayList的差别是:Vector是同步(线程安全)的,运行效率低,主要用于在线程环境中;而ArrayList是不同步的,适合在单线程环境中使用。
Stack
堆栈是一种“后进先出”的数据结构,只能在一端进行输入或输出数据的操作。