码迷,mamicode.com
首页 > 其他好文 > 详细

Array

时间:2019-10-09 22:27:50      阅读:104      评论:0      收藏:0      [点我收藏+]

标签:current   迭代器   节点   检测   col   随机   结合   fas   数据类型   

Array:数组 长度一定,存储对象和基本数据类型

ArrayList:实现了list接口 底部是动态数组的链表,可进行2倍扩容存储 对象,地址连续,插入社删除效率较低。支持随机访问。线程不安全,collections.sychronizedlist实现线程安全,或者copyonwriteArraylist  实现一个copy数副本,向副本中添加元素,将原链表中的引用指向副本。

vector:实现list接口 线程安全

LinkedList:底部是双项链表,不需扩容,地址任意,适用于增删操作。每个节点都存储前后的引用,占用内存。

 

iterate接口,提供了对很多集合进行遍历的方法,使用者无需关注集合内部节后,结构和状态都有iterator来维持,通过hasNext 和next来判断获取下一个元素。

 

iterator 可对set map等接口遍历

listiterator只能对list进行遍历

iterator只可以向前,listerator既可前可后。

 

 

faill-fast  fail-safe

1 快速失败

迭代器迭代集合的时候,是直接对集合中的元素进行迭代,此时,迭代器会设置一个modecount来检测结合中的元素有没有被更改,每遍历到下一个元素都和当前的modcount进行比较,不等则抛出concurrentModificationException。在此案城不安全的集合中使用快速失败机制

2 安全失败

迭代器迭代的不是集合中的元素,而先拷贝集合,再对拷贝集合进行遍历,此时的修改与原集合中的元素无关。concurrent包下的集合都是安全失败机制。如concurrenthashmap。

 

 

Enumeration迭代器速度快,但线程不安全,不可remove

 

Array

标签:current   迭代器   节点   检测   col   随机   结合   fas   数据类型   

原文地址:https://www.cnblogs.com/bowenqianngzhibushiwo/p/11644797.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!