迭代器用法

迭代器
  • Iterator模式也叫迭代模式,是行为模式之一,它把对容器中包含的内部对象的访问委让给外部类,使用Iterator(遍历)按顺序进行遍历访问的设计模式。我们可以简单地把迭代理解为遍历,是一个标准化遍历各类容器里面的所有对象的方法类。
Iterator iterator = list.iterator();  
        while(iterator.hasNext()){  
            String string = iterator.next();  
        } 
  • Iterator模式是用于遍历集合类的标准访问方法。它可以把访问逻辑从不同类型的集合类中抽象出来,从而避免向客户端暴露集合的内部结构。 在没有迭代器时我们都是按下面这些方式进行处理的。
int[] arrays = new int[10];  
for(int i = 0 ; i < arrays.length ; i++){  
       int a = arrays[i];  
   }  
List<String> list = new ArrayList<String>();  
   for(int i = 0 ; i < list.size() ;  i++){  
      String string = list.get(i);  
   } 

对于这两种方式,我们总是都事先知道集合的内部结构,访问代码和集合本身是紧密耦合的,无法将访问逻辑从集合类和客户端代码中分离出来。同时每一种集合对应一种遍历方法,客户端代码无法复用

  • 在Java中Iterator为一个接口,它只提供了迭代了基本规则,在JDK中他是这样定义的:对 collection 进行迭代的迭代器。迭代器取代了 Java Collections Framework 中的 Enumeration。
  • 其中:
    Object next():返回迭代器刚越过的元素的引用,返回值是Object,需要强制转换成自己需要的类型
    boolean hasNext():判断容器内是否还有可供访问的元素
    void remove():删除迭代器刚越过的元素
    对于我们而言,我们只一般只需使用next()、hasNext()两个方法即可完成迭代。
    如下:
for(Iterator it = c.iterator(); it.hasNext(); ) {  
  Object o = it.next();  
} 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值