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的实现相关推荐

  1. Java 中Iterator 、Vector、ArrayList、List 使用深入剖析

    标签:Iterator Java List ArrayList Vector 线性表,链表,哈希表是常用的数据结构,在进行Java开发时,JDK已经为我们提供了一系列相应的类来实现基本的数据结构.这些 ...

  2. 大剑无锋之ArrayList中使用增强for循环能删除元素吗?【面试推荐】

    好久没写java代码,前几天面试被问到不少java的问题,其中一个接下来要说的. 先看几段代码. 第一段(集合中两个元素,判断条件是第一个元素) ArrayList<String> lis ...

  3. java 中iterator 和 collection接口源码

    iterator接口和具体的容器中实现的iterator 对象(以ArrayList为例) iterator: public interface Iterator<E> {boolean ...

  4. 第三次学JAVA再学不好就吃翔(part81)--去除ArrayList中重复元素

    学习笔记,仅供参考 因为我突然懒了,所以这个Blog以代码为主,解释为辅 文章目录 集合 去除ArrayList中重复的字符串元素 去除ArrayList中重复的自定义对象元素 LinkedList的 ...

  5. 如何在Java中处理ConcurrentModificationException? 在循环中从ArrayList中删除元素时要当心...

    从Java中从ArrayList中删除元素时常见的问题之一是ConcurrentModificationException. 如果您对索引使用经典的for循环或增强的for循环,并尝试使用remove ...

  6. Java 删除ArrayList中重复元素,保持顺序

    // 删除ArrayList中重复元素,保持顺序           public static List<Map<String, Object>> removeDuplica ...

  7. 原创 | 为什么阿里巴巴要求谨慎使用ArrayList中的subList方法

    △Hollis, 一个对Coding有着独特追求的人△ 这是Hollis的第 219 篇原创分享 作者 l Hollis 来源 l Hollis(ID:hollischuang) 集合是Java开发日 ...

  8. java面试要点---ArrayList list = new ArrayList(); 在这个泛型为Integer的ArrayList中存放一个String类型的对象。

    java面试要点---ArrayList list = new ArrayList(); 在这个泛型为Integer的ArrayList中存放一个String类型的对象. ArrayList list ...

  9. java ArrayList中的subList方法

    2019独角兽企业重金招聘Python工程师标准>>> 本文是本人的学习笔记,把自己的理解总结记录下来.因本人水平有限,如果您在阅读中发现错误,还望谅解,并且希望能够告知本人改正,不 ...

最新文章

  1. 哈尔滨机器人餐厅打造现实版“未来世界”
  2. Python编程:Tkinter图形界面设计(1)
  3. java中的工厂模式
  4. centos7下qt creator python配置
  5. java调用dubbo服务器_dubbo源码分析-服务端注册流程-笔记
  6. 武汉超级计算机中心,加快打造“五个中心” 武汉率先开建人工智能计算中心...
  7. angular2或4部署到tomcat中,让他跑起来
  8. python面试题之如何计算一个字符串的长度
  9. python画布位置_如何调整tkinter画布的位置
  10. 12123两小时没付款怎么办_交管12123支付宝小程序付款不了怎么办 交管12123支付宝缴费方法介绍[多图]...
  11. 怎么把文件导入云服务器,怎么把文件放到云服务器里
  12. 使用Controller.UpdateModel方法来更新ViewModel
  13. selenium 三种断言以及异常类型
  14. 微信客户端电脑版_【电脑】微信客户端数据自动删除工具 再也不用担心电脑内存了...
  15. mysql中的sql在添加的操作中,id或者是某些字段,需要它添加自带的默认值,或者我们并不想对id或者某个字段赋值
  16. vue3引入echarts
  17. [转载]关于太阳(卫星)天顶角,太阳高度角,太阳方位角的整理_akala啦_新浪博客...
  18. 建立主DNS区域和辅助DNS区域的最佳实践
  19. Android 时间格式化
  20. 电脑中的"倚天剑+屠龙刀"【推荐】

热门文章

  1. nginx实现防止ddos攻击
  2. 淺談Raid Cache Memory上應用的問題和實踐
  3. ToolStripStatusLabel设置时间自动更新
  4. iOS-设计模式-观察者模式-KVO
  5. Swift 初见(A Swift Tour)
  6. .NET中判断国内IP和国外IP
  7. grantrevoke
  8. gpu programming guide for g80(dx9)
  9. ASP.NET获取IP的方法
  10. 小学四则运算练习软件项目报告