`
haohaoshiwo1987
  • 浏览: 23373 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

Java的迭代器模式的应用

阅读更多

使用内部类,实现Java的迭代器模式:

interface Selector{
	boolean end();
	Object current();
	void next();
}
public class Sequence {
	private Object[] items;
	private int next = 0;
	public Sequence(int size){
		items = new Object[size];
	}
	public void add(Object x){
		if(next < items.length)
			items[next++] = x;
	}
	
	private class SequenceSelector implements Selector{
		private int i = 0;
		public boolean end(){ return i==items.length;}
		public Object current(){ return items[i];}
		public void next(){if(i<items.length) i++;}
	}
	
	public Selector selector(){
		return new SequenceSelector();
	}
}

 使用SequenceSelector这个内部类实现selector这个接口,并在外部类中提供方法返回这个内部类的对象,这样在需要对外部类的列表对象进行遍历访问时,可通过生成一个内部类的对象来实现。调用方式为:

Selector selector = sequence.selector();
		while(!selector.end()){
			System.out.print(selector.current()+" ");
			selector.next();
		}

 之所以是迭代器模式,体现在实现接口的内部类可以有多种类型,只要你提供一套迭代方法,就可以编写一个迭代器接口的实现类。

 迭代器的优势还体现在:提供了一种统一的方式来顺序地或逆序地访问一个集合中的元素,而不必关心集合的结构。也就是说它允许在不暴露集合的内在表示的情况下访问集合的元素。只要该集合实现了迭代器接口就行。

分享到:
评论

相关推荐

    java迭代器模式实现正反向遍历

    在Java编程语言中,迭代器模式(Iterator Pattern)是一种常用的设计模式,用于顺序访问集合对象中的元素,而无需暴露其底层表示。这种模式提供了一种方法来访问一个聚合对象的元素,而无需暴露该对象的内部结构。在...

    【Java设计模式】(1)迭代器模式Iterator

    在Java中,迭代器模式被广泛应用于集合类,如ArrayList、LinkedList等,通过Iterator接口实现对集合的遍历。 **迭代器模式的核心组件:** 1. **迭代器(Iterator)角色**:这是模式的核心,它定义了遍历元素的接口...

    设计模式--迭代器模式java例子

    在Java中,迭代器模式广泛应用于集合框架,如ArrayList、LinkedList等。本示例将深入探讨如何在Java中实现和使用迭代器模式。 首先,我们需要理解迭代器模式中的几个关键角色: 1. **聚合类(Aggregate)**:它...

    JAVA迭代器模式.pptx

    标题和描述均提到了“JAVA迭代器模式”,这是一个在软件工程和面向对象编程中非常重要的设计模式,尤其在Java语言中被广泛运用。迭代器模式属于行为型模式,它的核心在于提供了一种方法来访问一个聚合对象中各个元素...

    java迭代器模式.rar

    迭代这个名词对于熟悉Java的人来说绝对不陌生。我们常常使用JDK提供的迭代接口进行java collection的遍历: Iterator it = list.iterator(); while(it.hasNext()){ ...而这就是关于迭代器模式应用很好的例子。

    java常用设计模式-迭代器模式

    在 Java 中,迭代器模式广泛应用于各种框架和库中,例如 Java Collections Framework、Java Stream API 等。这些框架和库都提供了迭代器模式的实现,以便于开发者更方便地遍历集合对象。 迭代器模式的优点还在于,...

    java 迭代及迭代器的小例子

    在Java编程语言中,迭代是遍历集合对象(如数组、列表或集合)的重要机制,而迭代器(Iterator)则是实现这一机制的关键工具。这里,我们通过一个小例子来深入理解Java中的迭代和迭代器。 首先,我们需要了解什么是...

    设计模式之迭代器模式(Iterator)

    在Java、Python、C#等面向对象语言中,迭代器模式都有其对应的应用。例如,在Java中,`Iterable`接口和`Iterator`接口就是实现迭代器模式的关键。`Iterable`接口定义了获取迭代器的方法`iterator()`,而`Iterator`...

    迭代器模式.rar之java设计模式

    迭代器模式在Java集合框架中广泛应用,例如`ArrayList`、`LinkedList`、`HashSet`等都实现了`Iterable`接口,并提供了各自的迭代器实现。这些集合类的迭代器各自有不同的性能特点。例如,`ArrayList`的迭代器速度快...

    java体系结构之迭代器模式.rar

    在Java中,迭代器模式广泛应用于集合框架,如List、Set和Map接口,使得程序员可以方便地遍历集合中的元素。 在Java中,`java.util.Iterator`接口是迭代器模式的核心,它提供了`hasNext()`和`next()`两个方法。`...

    迭代器模式代码示例

    在Java、C#等面向对象语言中,迭代器模式被广泛应用于容器类,如ArrayList、LinkedList等,使得我们可以遍历集合中的每一个元素。 迭代器模式包含以下主要角色: 1. **迭代器接口(Iterator)**:定义了遍历集合...

    设计模式之迭代器模式

    在实际应用中,Java集合框架大量使用了迭代器模式。例如,`ArrayList`、`LinkedList`、`HashSet`等类都实现了`Iterable`接口,可以通过`iterator()`方法获取迭代器。以下是一个简单的示例,展示了如何使用迭代器遍历...

    一个小小例子让你读懂迭代器模式,

    在Java、C#等面向对象语言中,迭代器模式被广泛应用于集合类,如ArrayList、LinkedList等。这些集合类提供了迭代器接口,使得用户可以通过迭代器来逐个访问集合中的元素,而无需关心集合的内部实现。例如,在Java中...

    迭代器模式java实现

    以下是一个简单的Java迭代器模式实现的例子: ```java // 定义一个聚合类,例如一个简单的数组列表 class Aggregate { private List&lt;String&gt; elements = new ArrayList(); public void add(String element) { ...

    Java设计模式课件迭代器模式.pptx

    在Java中,迭代器模式广泛应用于集合框架,例如ArrayList、LinkedList等。 在Java中实现迭代器模式,需要定义抽象迭代器和具体迭代器,抽象迭代器定义了遍历聚合对象的接口,具体迭代器实现了抽象迭代器的接口。...

    设计模式的迭代器模式的例子

    在Java、C#等面向对象语言中,迭代器模式被广泛应用于容器类,如ArrayList、LinkedList等,使得我们可以方便地遍历集合中的所有元素。 迭代器模式的主要组件包括: 1. **聚合对象(Aggregate)**:包含一组相关或...

    设计模式-迭代器模式(讲解及其实现代码)

    下面是一个简单的Java迭代器模式示例: ```java // 聚合接口 public interface Aggregate { void add(Object obj); void remove(Object obj); Iterator createIterator(); } // 具体聚合对象 public class ...

    组合模式二叉树,前序、中序、后续,迭代器模式访问遍历

    在Java中,这可以通过递归或者栈实现,迭代器模式可以将这个过程封装起来,使得遍历更加简洁易懂。 **中序遍历**是另一种遍历方式,它的顺序是:左子树 -&gt; 根节点 -&gt; 右子树。对于二叉搜索树,中序遍历可以得到升序...

    迭代器模式demo

    在Java、Python、C#等编程语言中,迭代器模式被广泛应用于集合类,如ArrayList、LinkedList等,提供了统一的遍历接口,使得用户可以方便地遍历各种数据结构。 在"迭代器模式demo"中,我们将深入理解这一模式的基本...

    java设计模式之迭代器模式

    在Java中,迭代器模式广泛应用于集合框架,如List、Set和Map接口,提供了遍历元素的方法。让我们深入探讨这个模式。 首先,迭代器模式的核心思想是分离了集合对象的遍历行为与其内部结构。这样做的好处在于,集合类...

Global site tag (gtag.js) - Google Analytics