我是靠谱客的博主 雪白短靴,最近开发中收集的这篇文章主要介绍java学习:java容器——Iterator迭代器详细分析Iterator迭代器详细分析,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

文章目录

  • 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迭代器详细分析所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(61)

评论列表共有 0 条评论

立即
投稿
返回
顶部