迭代器用法

    xiaoxiao2021-12-14  22

    迭代器

    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(); }
    转载请注明原文地址: https://ju.6miu.com/read-962888.html

    最新回复(0)