Java中的集合(十五) Iterator 和 ListIterator、Enumeration
2021-01-20 08:16
标签:接口 expect 开始 迭代 rev 遍历 info none rem Iterator 是一个接口,它是集合的迭代器。集合可以通过Iterator去遍历集合中的元素。把访问逻辑从不同类型的集合类中抽取出来,从而避免向外部暴露集合的内部结构。 实例: 集合对象创建迭代器时,迭代器维护了 expectedModCount 属性,该属性记录了集合的大小(modCount),当集合对象调用 add()、remove() 等有可能修改集合长度的方法时,modCount 修改了,而 expectedModCount 没有及时更新,就会抛出 ConcurrentModificationException 异常。 iterator.remove()是唯一安全的方式来在迭代过程中修改集合;如果在迭代过程中以任何其它的方式修改了基本集合将会产生未知的行为。而且每调用一次next()方法,remove()方法只能被调用一次,如果违反这个规则将抛出 IllegalStateException 异常。 ListIterator是一个功能更加强大的迭代器,它继承于 Iterator 接口,只能用于各种 List 集合类型及其子类的访问。可以通过调用 listIterator() 方法产生一个指向 List 集合的ListIterator,,还可以调用 listIterator(n) 方法创建一个一开始就指向列表索引为n的元素处的 ListIterator。 ListIterator在执行添加、删除等更新操作时,会同时更新 expectedModCount 和 modCount 属性。 Enumeration(枚举器)接口的作用和 Iterator 类似,但是只提供了遍历Vector和Hashtable类型集合元素的功能,不支持元素的移除操作。 Java中的集合(十五) Iterator 和 ListIterator、Enumeration 标签:接口 expect 开始 迭代 rev 遍历 info none rem 原文地址:https://www.cnblogs.com/lingq/p/12901519.htmlJava中的集合(十五) Iterator 和 ListIterator、Enumeration
一、Iterator
(一)、简介
(二)、常用API
(三)、特点
(四)、相关问题
1、Iterator遍历时不可以删除、添加集合中的元素问题
2、移除元素
二、ListIterator
(一)、简介
(二)、常用API
(三)、特点
(四)、允许遍历时添加、删除和修改的问题
三、迭代器遍历、删除图示
(一)、遍历
(二)、删除
四、Enumeration
(一)、简介
(二)、常用API
(三)、特点
五、Iterator和ListIterator的区别
六、Iterator和Enumeration的区别
文章标题:Java中的集合(十五) Iterator 和 ListIterator、Enumeration
文章链接:http://soscw.com/index.php/essay/44462.html