【Iterator迭达器】TestIterator

/*Iterator迭达器*/


package com.jh;
import java.util.*; 
public class TestIterator {
public static void main(String[] args) {
Collection col=new ArrayList();
col.add("java01");
col.add("java02");
col.add("java03");

//如下案例是获取到col里的Java01,Java02,Java03,类似循环的意思
Iterator ite=col.iterator();//获取内部类的对象
while(ite.hasNext()) //先判断是否有次对象,有就返回true,没有就false,如果返回true就是代表有此对象
{
Object obj=ite.next();//获取一个对象
System.out.println(obj);
}
}

}

/案例2

package com.jh;
import java.util.*;
public class TestIteratorList {


/**
* @param args
*/
public static void main(String[] args) {
List col=new ArrayList();
col.add("java01");
col.add("java02");
col.add("java03");

// Iterator ite=col.iterator();
// while(ite.hasNext())
// {
// Object obj=ite.next();
// //在迭代的过程中,使用集合删除,添加集合中的对象出现了异常java.util.ConcurrentModificationException
也就是说不能在迭代的过程中删除,添加,对象,因此如下都会出错,JDK1.6的不能修改
// if("java02".equals(obj))//如果找到java03,就从集合中把java03删除
// {
col.add("hello");//增加NO
col.remove("java03");//删除NO
col.set(1,"hello");//修改OK
//
// ite.remove();//迭代器的删除功能
//  
// }
// }

// 如下是:这个迭代器的可以实现在迭代的过程中对集合进行添加,删除,修改,一般不对在这个过程中做增删修
ListIterator listite=col.listIterator();
while(listite.hasNext())
{
Object objl=listite.next();
if("java03".equals(objl))
{//在迭代器里增加,删除,修改
// listite.add("hello");//当找到java03就会在此后面添加个hello,输出效果:[java01, java02, java03, hello]
// listite.remove();//在迭代器里删除,如找到了java03,就删除
listite.set("java0303");//在迭代器里,如找到了java03就修改为java03o3
}
}

sop(col);
}


public static void sop(Object obj)
{
System.out.println(obj);
}
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值