集合输出--迭代输出iterator

import java.util.*;

public class Test{

  public static void main(String[] args){

    Collection c = new HashSet();

    c.add("f1");

    c.add("f2");

    c.add("f3");

    Iterator it = c.iterator();

    while(it.hasNest()){

      it.nest();

      //it.remove();

    }

    System.out.print(c.);

  }

}

  上面的例子中,使用t.nest()方法输出的结果是[f1,f3, f2],也就是f1,f2,f3的随机排列。而使用it.remove方法,输出结果为[]。

  iterator是专门的迭代输出接口,所谓的迭代输出就是将元素一个个进行判断,判断其是否有内容,如果有内容则把内容取出。iterator接口的定义为:

public interface Iterator<E>

  Iterator接口在使用时也是需要制定泛型,当然在此处制定的泛型类型最好与集合中的泛型类型一致。它的常用方法有三种:

boolean hasNest() :如果仍有元素可以迭代,则返回true。(换句话说,如果next返回了元素而不是抛出异常,则返回true)。返回:如果迭代器具有多个元素,则返回true。

E nest() :返回迭代的下一个元素。 返回:迭代的下一个元素。  抛出异常:NoSuchElementException- 没有元素可以迭代

void remove() :从迭代器指向的collection 中移除迭代器返回的最后一个元素(可选操作)。每次调用next只能调用一次此方法。如果进行迭代时用调用此方法之外的其他方式修改了该迭代器所指向的collection,则迭代器的行为是不确定的。抛出异常:UnsupportedOperationException- 如果迭代器不支持remove操作。 IllegalStateException- 如果尚未调用next方法,或者在上一次调用 next 方法之后已经调用了remove方法。

转载于:https://www.cnblogs.com/hj03java/archive/2010/10/29/1864463.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值