Java之什么是迭代器

Java之什么是迭代器

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
开发工具与关键技术:MyEclipse10,java
作者: 刘东标
撰写时间:2019-07-24 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

package com.ldb.dao;
import java.util.Iterator;
import java.util.LinkedList;
import java.util.List;
public class Bean3 {
/**
* 迭代器(Iterator)是一个对象,它的工作是遍历并选择序列中的对象,它提供了一种
* 访问一个容器(container)对象中的各个元素,而用不必暴露该对象内部细节的方法。
* 通过迭代器,开发人员不需要了解容器底层的结构,就可以实现对容器的遍历。由于
* 创建迭代器的代价小,因此迭代器通常被称为轻量级的容器。
*
* 迭代器的使用主要有以下3个方面的注意事项:
* 1)、使用容器的iterator()方法返回一个Iterator,然后通过Iterator的next()方法
* 返回第一个元素
* 2)、使用Iterator的hasNext()方法判断容器中是否还有元素,如果有,可以使
* 用next()方法获取下一个元素。
* 3)、可以通过remove()方法删除迭代器返回的元素。
* Iterator支持派生的兄弟成员。 ListIterator只存在List中,支持在迭代期间向List
* 中添加或删除元素,并且可以在List中双向滚动。
* Iterator的使用方法如下
*
/
public static void main(String[] args) {
List list =new LinkedList();
list.add(“first”);
list.add(“second”);
list.add(“third”);
list.add(“fourth”);
for (Iterator iterator=list.iterator();iterator.hasNext();) {
String str=iterator.next();
System.out.println(str);
}
}
}
/输出结果
first
second
third
fourth
/
/
* * 在使用iterator()方法是经常会遇到ConcurrentModificationException异常,这通常是由于
* 在使用Iterator遍历容器的同时又对容器做增加或删除操作所导致的,或者由于多线程操作导致,
* 当一个线程使用迭代器遍历容器的同时,另外一个线程对这个容器进行增加或删除操作。
* 下面是单线程抛出ConcurrentModificationException的情况:*/
public static void main(String[] args) {
List list =new LinkedList();
list.add(“first”);
list.add(“second”);
list.add(“third”);
list.add(“fourth”);
for (Iterator iterator=list.iterator();iterator.hasNext()? {
String str=iterator.next();
System.out.println(str);
if(str.equals(“second”))
list.add(“five”);
}
}

在这里插入图片描述

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值