您的位置:首页 > 编程语言 > Java开发

Iterator接口

2016-06-17 21:06 363 查看
在Java中,变量一般是变量的引用,获取到的是它的值。

实现Iterator接口,遍历Collection实现类的内容时候,不可用Iterator自身以外的类来改变Collection实现类的内容,相当于Iterator实现类已经接管了Collection实现类。



这里写代码片

import java.util.Collection;

import java.util.HashSet;

import java.util.Iterator;

public class Itea {

public static void main(String[] args) {
Collection<String> coll=new HashSet<String>();
coll.add("111");
coll.add("222");
coll.add("333");
coll.add("444");
coll.add("555");
Iterator<String> iter=coll.iterator();
Iterator<String> iter_01=coll.iterator();
while(iter.hasNext())
{
String str=iter.next();
if(str.equals("222"))
{
iter.remove();
//coll.remove(str);代码错误
}
else
{
str="666";

}
}
System.out.println(coll);
}


}

“`

如:Iterator iter=coll.iterator();

若coll之后发生变化,iter不再可以遍历coll,coll发生变化的前后两次的hashcode值是不一样的。

Iterator接口采用快速失败机制,一旦在遍历集合过程中发现集合被修改(通常是程序其他进程修改),程序立即发生异常,而不是显示修改后的结果,避免共享资源引发的潜在问题。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  java