首页 > 代码库 > 迭代器模式(think in 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; } }
迭代器模式(think in java中的设计模式)
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。