:说明List接口包含了collection中的所有的方法
List 子接口 :此接口的用户可以对列表中每个元素的插入位置进行精确的控制
特点: 有序、有下标、元素可以重复
方法:
void add(int index, Object o) // 在index位置插入对象o
boolean addAll(int index, Collection c) //将一个集合中的元素添加到此集合中的index位置
Object get(int index)// 返回集合中指定位置的元素
List subList(int fromIndex, int toIndex) //返回一个范围内的集合元素
举例子:重点是迭代器,这里新增了一个列表迭代器 ListIterator
允许程序员按任意方向遍历列表,迭代器期间修改列表,并获得迭代器在列表中的当前的位置。具有如下方法:不仅仅只有迭代器原始的三个方法了
使用列表迭代器可以 从前往后遍历,也可以从后往前遍历
添加数字数据,自动装箱
删除数据,直接写数字表示list的下标
补充一下subList方法,fromIndex包含,toIndex不包含
List实现类
ArrayList :数组列表集合
- 数组结构实现,查询快,增删慢
- 运行效率快,线程不安全(add方法不安全)。
什么是线程安全?
在多个线程同时对代码进行操作的时候,不会出现不确定的结果。
Vector:
- 数组结构实现,查询快,增删慢
- 运行效率慢,线程安全
LinkedList:
链表结构实现,增删快,查询慢
ArrayList 详情请参见:ArrayList