黑马程序员技术交流社区

标题: 并发修改异常 [打印本页]

作者: nanliner    时间: 2016-5-31 00:27
标题: 并发修改异常
为什么报并发修改异常?数据结构数组和链表的区别有哪些啊?
作者: 我love    时间: 2016-5-31 07:27
迭代器是依赖于集合存在的,在判断成功后,集合就新添加元素,但是迭代器却不知道, 这样一来就报错了,这个错叫做并发修改异常。
简单来说就是:迭代器遍历元素的时候,通过集合是不能进行元素修订的。
数组查询快,增删慢,链表相反,查询慢,增删快
作者: 爱生活爱Java    时间: 2016-5-31 10:17
简单来说就是你通过迭代器遍历集合的时候,同时也在往集合中新增元素,这时报的异常就是并发修改异常。

底层是数组结构的:查询快(有索引)    增删慢(增加或是删除指定索引处的元素,元素后方整体会后移或是前移)

底层是链表结构的:  增删快(可以在任意两个元素之间增加元素或是删除元素)     查询慢(无索引,找指定元素的话离开头近就从开头开始找;离末尾近就从末尾开始找;)

备注:数组结构及链表结构的优缺点都是相对的(比方说数组结构相对于链表结构查询快些)




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2