zoukankan      html  css  js  c++  java
  • 迭代器模式(think in java中的设计模式)

    迭代器模式:用来迭代一个容器集合数组的一种模式。可能大家很多时候是用for循环进行迭代的,但是实际上for循环内部不能使用remove方法,但是迭代器可以,这是因为迭代器内部进行了该方法的逻辑处理。同样我们也可以用到迭代器模式去迭代,他很好的封装了迭代方法。我们还可以从中进行一些特特异的迭代选取功能,比如迭代数字的字符串但是返回尾数为13579的数字for循环内部的东西可以封装在迭代器中。代码如下

    public class Test2 {
        @Test
        public void t() {
            CollectionA ca=new CollectionA();
            String[] s={"我","了","个","去"};
            ca.buildCollectionA(s);
            while(ca.hasNext()){
                System.out.println(ca.next());
            }
        }
    }
    //迭代器接口
    interface Iterator{
        //如果有下一个就表示为true,如果没有下一个就表示为false
        public boolean hasNext();
        //取得当前迭代值并且把迭代标记推送到下一个上
        public Object next();
    }
    //迭代器
    class CollectionA implements Iterator {
        //当前下标标记
        private int i=0;
        //迭代的内容
        private String[] obj;
        public void buildCollectionA(String[] s){
            this.obj=s;
        }
        @Override
        public boolean hasNext() {
            if(i>=obj.length){
                return false;
            }
            return true;
        }
        @Override
        public Object next() {
            if(hasNext()){
                return obj[i++];
            }
            return null;
        }
    }
  • 相关阅读:
    小程序中template的用法
    小程序弹窗的几种形式
    js怎样截取以'-'分割的字符串
    js怎样截取字符串后几位以及截取字符串前几位
    局域网聊天软件项目小结(1)
    IPAddress类
    Combobox 成员添加
    tcpclient 类
    console.read()读入的内容
    技术带来的进步与退步---一点点反思
  • 原文地址:https://www.cnblogs.com/blackdeng/p/7069724.html
Copyright © 2011-2022 走看看