031_自己对ArrayList中Iterator的实现
生活随笔
收集整理的这篇文章主要介绍了
031_自己对ArrayList中Iterator的实现
小编觉得挺不错的,现在分享给大家,帮大家做个参考.
import java.util.ArrayList;
import java.util.Iterator;
import java.util.NoSuchElementException;/*** 自己实现ArrayList中Iterator的实现类*/
public class MyArrayListIterator extends ArrayList<Object> {private static final long serialVersionUID = 1L;/*** 重写ArrayList的迭代方法*/@Overridepublic Iterator<Object> iterator() {return new MyIterator();}/*** 迭代类的实现*/private class MyIterator implements Iterator<Object>{int cursor; int lastRet = -1;/*** 是否还有下一个元素*/@Overridepublic boolean hasNext() {return cursor != MyArrayListIterator.this.size();}/*** 返回下一个元数*/@Overridepublic Object next() {if(cursor >= MyArrayListIterator.this.size()) {throw new NoSuchElementException();}return MyArrayListIterator.this.get(lastRet = cursor++);}/*** 删除当前元素*/public void remove() {if (lastRet < 0) {throw new IllegalStateException();}MyArrayListIterator.this.remove(lastRet);cursor = lastRet;lastRet = -1;}}
}
总结
以上是生活随笔为你收集整理的031_自己对ArrayList中Iterator的实现的全部内容,希望文章能够帮你解决所遇到的问题。
- 上一篇: 030_自己实现一个HashSet
- 下一篇: 032_使用ArrayDeque模拟栈结