###并发修改异常(重点)
描述的是:集合和迭代器同时持有同一个对象,当集合在添加,和删除集合元素时(修改呢),迭代器并不知道,所以会发生并发修改异常
注意:增强for也会产生并发修改异常
如何解决: 第一: 使用普通for循环
第二(重点):使用listIterator -->是List 特有的,其他集合不能使用
代码:
常用方法:
a、 E set(int index, E) 修改指定索引上的元素,返回被修改之前的元素
b、 E remove(int index) 移除指定索引上的元素,返回被删除之前的元素
c、 add(int index, E)将元素插入到列表的指定索引上,其他元素顺移
d、remove(int index) 删除并返回元素
数据类型:
栈 : 手枪的弹夹 : 手枪的压栈 ---> 喝酒 --->先进后出,后进先出
队列 : 超市的购物,先排队,先处理 ---> 喝酒 --->先进去,先出来,后进去,后出来
数组 : 查找快:因为底层有索引,并且是连续
增删慢: 数组的长度的是固定的,当我们在进行增删时,会创建一个新的数组,并且将老数组中的值拷贝到新数组中
链表: 查找慢(底层是链表,两两相连,依次往下找,直到找到为止) --->linkedList 采用二分法查找
增删快 :原因在于他仅仅只需要改变相邻元素的地址值
arrayList的特点
底层是可变数组查找快:因为底层有索引,并且是连续
### linkedList 的特点:
查找慢(底层是链表,两两相连,依次往下找,直到找到为止)
Vector : 已经被淘汰,是线程安全的,效率低,其他和arrayList 一致
需求:
我想自己实现一个栈结构:-->先进后出,后进先出