iterator 怎么使用甀_Iterator的使用

在Java编程中,集合时使用非常频繁的数据类型,而在遍历集合中所有元素时,Java推荐使用迭代器模式,Java中内部定义了一个接口Iterator来实现简单的迭代操作。

Iterator接口中定义了三个方法:

hasNext():检查集合中是否还有元素,如果有则返回true

next():返回集合中的下一个元素

remove():删除集合中最后一个返回的元素

使用Iterator的注意事项:

在获取集合中下一个元素之前一定要先使用hasNext()进行判断集合中是否还有元素,否则则可能会抛出NoSuchElementException

使用next()方法返回的元素是从集合中随机取出的,同一代码在多次运行时所取出的元素顺序可能不同

使用remove()方法之前必须先调用next()方法,因为删除的是最后一个返回的元素。若没有返回过元素,则没有删除的对象

在需要使用多次迭代输出同一集合中元素时,在输出前都需要重新移动迭代器的首指向

例:

package dg;

import java.util.*;

public class CollectionTest{

public static void main(String[] args){

Collection c = new HashSet();

c.add("AAAAAAAAAAA");

c.add("BBBBBBBBBBB");

c.add("CCCCCCCCCCC");

Iterator i = c.iterator();//Iterator使用方法1:while循环

while(i.hasNext()){

System.out.println(i.next());//迭代输出

}

System.out.println("集合中元素个数为:" + c.size());

System.out.println("----------------------------");

i = c.iterator();//上面代码执行后,iterator已指向末尾,此语句将i指向c的开头

if(i.hasNext()){//判断是否有下一个数

System.out.println(i.next());

i.remove();

}

System.out.println("----------------------------");

for(Iterator it = c.iterator();it.hasNext();){//Iterator使用方法2:for循环

System.out.println(it.next());

}

System.out.println("使用remove()后集合中元素个数为:" + c.size());

}

}

代码运行结果:

BBBBBBBBBBB

CCCCCCCCCCC

AAAAAAAAAAA

集合中元素个数为:3

----------------------------

BBBBBBBBBBB

----------------------------

CCCCCCCCCCC

AAAAAAAAAAA

使用remove()后集合中元素个数为:2

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值