zoukankan      html  css  js  c++  java
  • 设计模式之迭代器模式

    基本思路

    1. Iterator接口中有两个方法
    public interface Iterator {
    	Object next();
    	boolean hasNext();
    }
    
    1. Collection接口
      定义一个返回类型为Iterator的方法
    public interface collection {
    	public void add(Object o);
    	public int size();
    	Iterator iterator();
    }
    
    1. 以ArrayList为例
      继承Collection接口,并实现iterator方法。
      返回一个Iterator类型的对象
    	// 返回的内容一定是实现了Iterator接口的类的对象,这个类具体是什么名字并不重要。
    	public Iterator iterator() {
    		return new ArrayListIterator();
    	}
    

    Iterator类型的对象,实现了Iterator的接口,并且重写相应的方法。

    	public Iterator iterator() {
    		return new ArrayListIterator();
    	}
    
    	// 使用内部类的形式实现,
    	private class ArrayListIterator implements Iterator {
    
    		private int current = 0;
    
    		@Override
    		public Object next() {
    			// TODO Auto-generated method stub
    			Object o = objects[current];
    			current++;
    			return o;
    		}
    
    		@Override
    		public boolean hasNext() {
    			// TODO Auto-generated method stub
    			if (current >= index) {
    				return false;
    			} else {
    				return true;
    			}
    		}
    
    	}
    
  • 相关阅读:
    使用Koa搭建一个mock服务器
    d3 使用记录: 树形图
    转载: 矩阵的运算及运算规则
    d3 使用记录: 插值
    d3 使用记录: Selection
    转载: javascript 模块化历程
    Git 常用操作
    贝塞尔曲线_初探
    css 基础-
    Freemarker模板语法
  • 原文地址:https://www.cnblogs.com/nce4/p/9612855.html
Copyright © 2011-2022 走看看