概述
文章目录
- Iterator迭代器详细分析
- 1、什么是Iterator?
- 2、Iterator怎么使用(用法)?
- 3、Iterator的特点?
- 4、Iterator和ListIterator有什么区别?
Iterator迭代器详细分析
1、什么是Iterator?
(1)迭代器模式。是java中常用的设计模式之一。可以用于顺序访问集合对象的元素,而不必知道集合对象的底层实现。
(2)Iterator是可以遍历集合的对象,为各种容器提供了公共的操作接口,隔离对容器的遍历操作和底层实现,从而实现解耦。
(3)缺点是增加新的集合类需要配合增加新的迭代器对象,成对增加。
2、Iterator怎么使用(用法)?
(1)Iterator()要求容器返回一个Iterator。Iterator将准备好返回序列的第一个元素。
(2)使用next()获得序列中的下一个元素
(3)使用hasNext()检查序列中是否还有元素。
(4)使用remove()将迭代器新近返回的元素删除。
List<String> list = new ArrayList<String>();
list.add("张三");
list.add("李四");
list.add("王五");
list.add("赵六");
Iterator<String> it = list.iterator();
while (it.hasNext()) {
System.out.println(it.next());
if (it.next().equals("李四")) {
it.remove();
}
}
System.out.println("------------------------");
System.out.println(list);
3、Iterator的特点?
(1) Iterator遍历集合元素的过程中不允许线程对集合元素进行修改,否则会抛出ConcurrentModificationEception的异常。
(2)Iterator遍历集合元素的过程中可以通过remove方法来移除集合中的元素,删除的是上一次Iterator.next()方法返回的对象。
(3)Iterator必须依附于一个集合类对象而存在,Iterator本身不具有装载数据对象的功能。
(4)next()方法,该方法通过游标指向的形式返回Iterator下一个元素。
4、Iterator和ListIterator有什么区别?
三方面的区别:对list中元素的增删改、能否逆序遍历、能否定位索引位置。
Iterator:
(1)遍历过程中,不能修改、增加list中的对象。可以remove方法删除对象。
(2)hasNext和next方法,可以实现顺序遍历。
(3)不可以定位索引位置。
ListIterator:(仅存在于list接口中)
(1)遍历过程中,可以通过add()、set()方法实现对list的增加、修改。也可以删除。
(2)有hasPrevious()和previous()方法,可以实现逆序遍历。
(3)可以定位当前索引位置,nextIndex()和previousIndex()可以实现。
最后
以上就是雪白短靴为你收集整理的java学习:java容器——Iterator迭代器详细分析Iterator迭代器详细分析的全部内容,希望文章能够帮你解决java学习:java容器——Iterator迭代器详细分析Iterator迭代器详细分析所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复