小编给大家分享一下collection集合体系与并发修改异常怎么办,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!
collection是单列集合的顶层接口,下面还包括了两个常用子接口 List、set
List:
list接口有两个实现的子类:特点是:有序且可重复
ArrayList的数据结构是数组结构
LinkedList的数据结构是链表结构
1、ArrayList:特点:查询快 增删慢
初始容量大小为10 扩充容量算法为 ((旧容量 * 3) / 2) + 1
如果你知道你的arrayList 会达到多少容量,可以在初始化的时候就指定,能节省扩容的性能开支
2、LinkedList:特点: 增删快 查询慢
linkedList 是一个双向链表,没有初始化大小,也没有扩容的机制,就是一直在前面或者后面新增就好。
set:
set接口有两个实现的子类:特点是:无序且不可重复
1、HashSet:
HashSet集合不能保证的迭代顺序与元素存储顺序相同。但是能保证数据的唯一性
2、LinkedHashSet:
linkedHashSet集合能保证数据的唯一性和元素存储顺序相同。
并发修改异常的出现原因和解决方法:
异常:Exception in thread "main" java.util.ConcurrentModificationException
原因:
迭代器是依赖于集合而存在的,在判断成功后,集合中新添加了元素,而迭代器却不知道,所以就报错了,这个错叫并发修改异常。
解决方法:
A:迭代器迭代元素,迭代器修改元素
B:集合遍历元素,集合修改元素(普通for)
以上是“collection集合体系与并发修改异常怎么办”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注亿速云行业资讯频道!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。