List接口
列表通常允许重复的元素
元素存取有序
带有索引
l 增加元素方法
add(Object e):向集合末尾处,添加指定的元素
add(int index, Object e):向集合指定索引处,添加指定的元素,原有元素依次后移
l 删除元素删除
remove(Object e):将指定元素对象,从集合中删除,返回值为被删除的元素
remove(int index):将指定索引处的元素,从集合中删除,返回值为被删除的元素
l 替换元素方法
set(int index, Object e):将指定索引处的元素,替换成指定的元素,返回值为替换前的元素
l 查询元素方法
get(int index):获取指定索引处的元素,并返回该元素
java.util.ConcurrentModificationException 并发修改异常
并发修改异常解决办法:在迭代时,不要使用集合的方法操作元素。
那么想要在迭代时对元素操作咋办?通过ListIterator迭代器操作元素是可以的,ListIterator的出现,解决了使用Iterator迭代过程中可能会发生的错误情况。
数据存储的常用结构有:堆栈、队列、数组、链表
堆栈:
先进后出
栈的入口、出口的都是栈的顶端位置
压栈
弹栈
队列
先进先出
队列的入口、出口各占一侧
数组
有索引
查找元素快
增删元素慢
链表
多个节点之间,通过地址进行连接
查找元素慢
增删元素快
ArrayList集合 数组结构。元素增删慢,查找快
LinkedList集合 链表结构。方便元素添加、删除的集合