`
men4661273
  • 浏览: 278581 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

java设计模式-Iterator(迭代子)模式

    博客分类:
  • java
阅读更多
   Iterator迭代子模式定义
    一般是对集合进行遍历使用,java的集合类都可以迭代,一般不需要自己设计Iterator

  

package iterator;

import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;

public class Test {

	public static void main(String[] args) {
		List<String> list = new ArrayList<String>();
		
		list.add("1");
		list.add("2");
		list.add("3");
		list.add("4");
		//获取List的迭代器
		Iterator<String> it = list.iterator();
		//迭代遍历List中的元素
		while(it.hasNext())
			System.out.println(it.next());
	}
}




    当然也可以自己设计迭代器,比如一个书架类,里面有个书本的数组属性,可以自己设计一个迭代器,对书架里面的书本进行迭代:

   
package com.pattern.iterator;    
public class BookShelfIterator implements Iterator{    
    private BookShelf bookShelf;    
    private int index;    
        
    public BookShelfIterator(BookShelf bookShelf) {    
        this.bookShelf = bookShelf;    
        this.index = 0;    
     }    
        
    //检查是否还有下一本书    
    public boolean hasNext() {    
        if(index < bookShelf.getLength()) {    
            return true;    
         }    
        else {    
            return false;    
         }    
     }    
    //返回指定位置的书籍    
    public Object next() {    
         Book book = bookShelf.getBookAt(index);    
         index ++;    
        return book;    
     }    
}   





package com.pattern.iterator;    
/** 
* 书架类 
* @author administrator 
*/   
public class BookShelf implements Aggregate{    
    private Book[] books;    
    private int last = 0;    
        
    public BookShelf(int maxSize) {    
        this.books = new Book[maxSize];    
     }    
        
    public Book getBookAt(int index) {    
        return books[index];    
     }    
        
    //添加书籍    
    public void appendBook(Book book) {    
        this.books[last] = book;    
         last++;    
     }    
    //获得书架存书的数量    
    public int getLength() {    
        return books.length;    
     }    
                //获得书架迭代器对象    
    public Iterator iterator() {    
        return new BookShelfIterator(this);    
     }    
        






  • 大小: 35.6 KB
分享到:
评论

相关推荐

    java设计模式--迭代器设计模式.docx

    迭代器模式是软件设计模式中的一种行为模式,其主要目的是为了在不暴露聚合对象内部结构的情况下,提供一种顺序访问聚合对象中各个元素的方式。在Java中,迭代器模式被广泛应用于集合类,如ArrayList、LinkedList等...

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

    迭代器模式是一种行为设计模式,它允许我们顺序访问聚合对象的元素,而无需暴露其底层表示。在Java中,迭代器模式广泛应用于集合框架,如ArrayList、LinkedList等。本示例将深入探讨如何在Java中实现和使用迭代器...

    java设计模式---诙谐易懂版

    根据给定文件内容,以下是关于Java设计模式的知识点说明: 1. 策略模式(Strategy Pattern)是一种行为设计模式,允许在运行时选择算法的行为。策略模式的意图是定义一系列算法,将每个算法封装起来,并使它们可以...

    JAVA设计模式-chm版

    Java设计模式是软件开发中的一种最佳实践,它总结了在解决特定问题时程序员们经常采用的有效方法。这个“JAVA设计模式-chm版”资源显然包含了关于Java设计模式的详细信息,便于理解和应用。设计模式是对常见问题的...

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

    Java 迭代器模式是一种行为设计模式,它提供了一种访问集合对象元素的方法,而不需要暴露该对象的内部表示。该模式适用于需要遍历集合对象的场景,例如数组、列表、树等。 迭代器模式的主要优点是: 1. 避免了集合...

    Java设计模式之Iterator模式

    参考:马士兵 Java设计模式 Iterator 1.首先定义一个容器Collection接口. 2.定义一个Iterator迭代器的接口 3.定义一个ArrayList,实现Collection接口,并写一个实现了Iterator接口的内部类。 4.编写测试程序TestMain...

    Android设计模式之--迭代器模式

    迭代器模式是软件设计模式中的一种行为模式,它在Android开发中被广泛应用,尤其是在处理集合对象的遍历操作时。这种模式提供了一种方法来顺序访问聚合对象的元素,而又不暴露其底层表示。在Java或Android编程中,...

    iterator-demo 迭代器设计模式demo

    迭代器设计模式是一种常用的行为设计模式,它提供了一种方法来顺序访问聚合对象的元素,而又不暴露其底层表示。这个“iterator-demo”应该是一个示例项目,用于演示如何在实际编程中应用迭代器模式。下面我们将深入...

    java基础 集合-22-迭代器设计模式

    在Java编程语言中,集合框架是处理对象数组的核心部分,而迭代器设计模式则是访问集合元素的主要机制。本文将深入探讨Java中的迭代器模式及其在集合框架中的应用。 迭代器模式是一种行为设计模式,它提供了一种方法...

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

    迭代器模式(Iterator Pattern)是Java设计模式中的行为模式之一,它提供了一种方法来顺序访问聚合对象的元素,而又不暴露其底层表示。在Java中,迭代器模式被广泛应用于集合类,如ArrayList、LinkedList等,通过...

    JAVA设计模式--入门

    **Java设计模式——入门** 设计模式是软件开发中的一种最佳实践,它是在特定上下文中解决常见问题的经验总结。Java设计模式是面向对象编程中的一个重要概念,可以帮助开发者编写可复用、可维护、易于理解的代码。这...

    IteratorPattern 迭代设计模式

    迭代器模式(IteratorPattern)是设计模式中的一种行为模式,它提供了一种顺序访问聚合对象元素的方法,同时又不暴露其底层表示。这种模式允许我们遍历集合对象的元素,而无需暴露其内部结构。在Java、C#等面向对象...

    Iterator迭代器讲解

    ### Iterator迭代器详解 #### 一、Iterator简介与概念 在Java编程语言中,`Iterator`接口是一个重要的组件,它提供了遍历集合的基本方法。`Iterator`的主要作用是在不暴露集合内部结构的情况下,顺序访问集合中的...

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

    Java设计模式 - 迭代器模式 迭代器模式是一种对象行为型模式,是一种提供一种方法顺序访问一个聚合对象中各个元素,而不用暴露该对象的内部表示的模式。迭代器模式的主要职责是将遍历数据的行为从聚合对象中分离...

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

    迭代器模式是一种行为设计模式,它提供了一种方法来顺序访问聚合对象的元素,而无需暴露其底层表示。这种模式允许我们遍历集合中的每个元素,同时保持集合本身抽象,不需了解其内部结构。 在Java、C#等面向对象语言...

    《Java设计模式》课后答案-刘伟.rar

    《Java设计模式》是刘伟教授的一本关于设计模式的教材,主要面向高等学校的学生和对Java编程有深入兴趣的开发者。设计模式是软件工程中的一种重要思想,它封装了在特定场景下的问题解决方案,可以提高代码的可读性、...

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

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

    23个设计模式之一的迭代器模式-极客学院-java-课件代码,

    综上所述,迭代器模式是一种实用的设计模式,它在Java编程中起着核心作用,帮助开发者有效地遍历和操作聚合数据。极客学院的这个课程可能详细讲解了迭代器模式的原理、实现和应用场景,通过代码示例帮助学习者加深...

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

    迭代器模式是软件设计模式中的一种行为模式,它在编程中扮演着重要的角色,尤其是在处理集合数据时。迭代器模式的核心思想是提供一种方法来顺序访问聚合对象的元素,而无需暴露其底层表示。这种模式使得用户可以在不...

    JAVA design pattern-java设计模式

    Java设计模式是软件工程中的一种最佳实践,它提供了一种在特定情况下解决常见问题的标准化方法。设计模式不是具体的代码或库,而是一种通用解决方案的描述,可以应用于各种编程语言,包括Java。在这个名为"JAVA ...

Global site tag (gtag.js) - Google Analytics