package iterator; import java.util.Iterator; /** * 具体创建迭代器的类 实现了iterator接口 * @author Administrator * */ public class MyIterator<T> implements Iterator<T>{ private T[] list; private int index = -1; public MyIterator(T[] list){ this.list=list; } @Override public boolean hasNext() { index++; if(index>list.length-1){ return false; } return list[index] != null; } @Override public T next() { return list[index]; } @Override public void remove() { throw new UnsupportedOperationException(); } }
package iterator; import java.util.Iterator; /** * 创建迭代器的接口 * @author Administrator * */ public interface IteratorCreater { public Iterator createIterator(); }
package iterator; /** * 一个用于迭代的实体类 * @author Administrator * */ public class BlackPeople{ public String name; public String sex; public BlackPeople(String name,String sex){ this.name=name; this.sex=sex; } public String toString(){ return "name:"+name+";sex:"+sex; } }
package iterator; import java.util.Iterator; /** * 创建迭代器的实现类 * @author Administrator * */ public class ArrayIterator implements IteratorCreater{ private static BlackPeople[] peoplelist = null; static{ peoplelist=new BlackPeople[]{new BlackPeople("zw","man"),new BlackPeople("zw1","women"),new BlackPeople("zw2","man")}; } @Override public Iterator createIterator() { MyIterator iterator = new MyIterator(peoplelist); return iterator; } }
package iterator; import java.util.Iterator; public class IteratorMain { public static void main(String[] args) { ArrayIterator arrayIt = new ArrayIterator(); Iterator it=arrayIt.createIterator(); while(it.hasNext()){ BlackPeople p = (BlackPeople)it.next(); System.out.println(p.toString()); } } }
相关推荐
在Java编程语言中,迭代器模式(Iterator Pattern)是一种常用的设计模式,用于顺序访问集合对象中的元素,而无需暴露其底层表示。这种模式提供了一种方法来访问一个聚合对象的元素,而无需暴露该对象的内部结构。在...
### Iterator迭代器详解 #### 一、Iterator简介与概念 在Java编程语言中,`Iterator`接口是一个重要的组件,它提供了遍历集合的基本方法。`Iterator`的主要作用是在不暴露集合内部结构的情况下,顺序访问集合中的...
迭代器模式(Iterator Pattern)是Java设计模式中的行为模式之一,它提供了一种方法来顺序访问聚合对象的元素,而又不暴露其底层表示。在Java中,迭代器模式被广泛应用于集合类,如ArrayList、LinkedList等,通过...
例如,在Java中,`Iterable`接口和`Iterator`接口就是实现迭代器模式的关键。`Iterable`接口定义了获取迭代器的方法`iterator()`,而`Iterator`接口提供了`hasNext()`和`next()`方法,分别用于检查是否还有下一个...
在Java、C#等面向对象语言中,迭代器模式被广泛应用于容器类,如ArrayList、LinkedList等,使得我们可以遍历集合中的每一个元素。 迭代器模式包含以下主要角色: 1. **迭代器接口(Iterator)**:定义了遍历集合...
在Java中,迭代器模式广泛应用于集合框架,如ArrayList、LinkedList等。本示例将深入探讨如何在Java中实现和使用迭代器模式。 首先,我们需要理解迭代器模式中的几个关键角色: 1. **聚合类(Aggregate)**:它...
在Java中,`java.util.Iterator`和`java.util.Enumeration`就是迭代器模式的典型应用。C#中的`IEnumerator`接口和`yield return`关键字也是迭代器模式的实现。 在文件名称“IteratorPattern01”中,我们可以推测这...
在Java中,迭代器模式主要体现在`java.util.Iterator`接口上。`Iterator`接口提供了两个主要的方法:`hasNext()`和`next()`。`hasNext()`用于检查集合中是否还有更多元素,`next()`则返回集合中的下一个元素。通过这...
在Java中,`java.util.Iterator`接口是迭代器模式的核心,它提供了`hasNext()`和`next()`两个方法。`hasNext()`用于检查集合中是否还有更多元素,而`next()`则返回集合中的下一个元素。通过这两个方法,我们可以迭代...
在Java中,迭代器模式是通过接口实现的,这使得我们可以遍历任何实现了`Iterable`接口的对象,例如集合框架中的`List`、`Set`等。 在Java中,迭代器模式主要涉及以下角色: 1. **迭代器(Iterator)**:迭代器接口,...
Java 迭代器模式 Java 迭代器模式是一种行为设计模式,它提供了一种访问集合对象元素的方法,而不需要暴露该对象的内部表示。该模式适用于需要遍历集合对象的场景,例如数组、列表、树等。 迭代器模式的主要优点是...
在Java、C#等面向对象语言中,迭代器模式被广泛应用于容器类,如ArrayList、LinkedList等,使得我们可以方便地遍历集合中的所有元素。 迭代器模式的主要组件包括: 1. **聚合对象(Aggregate)**:包含一组相关或...
在Java、C#等面向对象语言中,迭代器模式被广泛使用。 迭代器模式主要包含以下角色: 1. **聚合角色(Aggregate)**:存储一组对象,提供创建迭代器的接口。 2. **迭代器角色(Iterator)**:负责遍历聚合中的元素...
在深入探讨Java中Iterator(迭代器)的一般用法之前,我们先来理解一下迭代器在编程中的核心价值。迭代器是一种设计模式,其主要作用在于遍历集合中的元素,而无需开发者知晓集合的具体实现细节。这使得代码更加灵活、...
Java设计模式 - 迭代器模式 迭代器模式是一种对象行为型模式,是一种提供一种方法顺序访问一个聚合对象中各个元素,而不用暴露该对象的内部表示的模式。迭代器模式的主要职责是将遍历数据的行为从聚合对象中分离...
在Java、C#等面向对象语言中,迭代器模式的应用非常广泛,例如Java中的`Iterable`接口和`Iterator`接口,C#中的`IEnumerable`接口和`IEnumerator`接口。这些接口为实现迭代器模式提供了标准的方式。 迭代器模式的...
Java Iterator迭代器是一种模式,它可以使得对于序列类型的数据结构的遍历行为与被遍历的对象分离。这种模式可以让我们无需关心该序列的底层结构是什么样子的,只要拿到这个对象,使用迭代器就可以遍历这个对象的...
在这个主题中,我们主要探讨了如何利用组合模式(Composite Pattern)构建二叉树,并通过迭代器模式(Iterator Pattern)来实现对树的遍历,包括前序、中序和后序遍历。这些是设计模式中的经典应用,对于理解和掌握...
标题和描述均提到了“JAVA迭代器模式”,这是一个在软件工程和面向对象编程中非常重要的设计模式,尤其在Java语言中被广泛运用。迭代器模式属于行为型模式,它的核心在于提供了一种方法来访问一个聚合对象中各个元素...
在Java中,`Iterable`接口定义了迭代器模式的基本接口,而`Iterator`接口则提供了具体遍历元素的方法。 迭代器模式包含以下主要角色: 1. **聚合对象(Aggregate)**:存储一系列元素的对象,例如Java中的ArrayList...