java迭代器自实现

来源:互联网 发布:2017最流行编程语言 编辑:程序博客网 时间:2024/06/17 07:04

1.使用内部类,实现迭代器

2.使用iterable接口实现foreach循环

3.增加了add方法自动添加元素

public class test1 implements Iterable{private String[] elem=new String[5];private int size=0;//实际大小public int size(){return this.size();}public void add(String ele){if(this.size==elem.length){//扩容elem=Arrays.copyOf(elem, elem.length+5);}elem[size]=ele;size++;}private class MyIter implements Iterator{private int coursor=-1;public boolean hasNext(){return coursor+1<size;}public String next(){coursor++;return elem[coursor];}public void remove(){//移动数组的元素System.arraycopy(elem, coursor+1, elem, coursor, test1.this.size-(coursor+1));test1.this.size--;this.coursor--;}}public Iterator iterator(){return new MyIter();}public static void main(String[] args) { test1 list=new test1(); list.add("a0"); list.add("a1"); list.add("a2"); list.add("a3"); Iterator it=list.iterator(); while(it.hasNext()){ System.out.println(it.next()); } System.out.println(list.size()); for(Object str:list){ System.out.println(str); } }}


原创粉丝点击