【问题标题】:Where does iterator() belong to? [closed]iterator() 属于哪里? [关闭]
【发布时间】:2013-07-21 21:58:43
【问题描述】:

当我们为接口创建引用时,Iterator

Iterator itr = arraylist.iterator();

iterator() 函数是ArrayList 类的方法还是Iterator 接口?

【问题讨论】:

  • 你可以在ArrayList.java中看到你自己;)

标签: java collections arraylist iterator


【解决方案1】:

它是在Iterable 中声明并在ArrayList 中实现的方法。它返回一个Iterator

【讨论】:

    【解决方案2】:

    ArrayList<E> 实现 List<E> 扩展 Collection<E> 扩展 Iterable<E>

    因此ArrayList 必须实现iterator() 方法,因为它间接实现了声明它的Iterable。方法的实现是由ArrayList自己实现的。

    【讨论】:

      【解决方案3】:

      集合上的迭代器。迭代器在 Java 集合框架中取代了枚举。

      • 它避免了 ConcurrentModificationException
      • Iterator 有一个 remove 方法,我们可以使用它从底层对象中删除元素。
      • 它删除迭代器返回的最后一个元素。

      参考here

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2018-04-07
        • 1970-01-01
        • 2010-10-08
        • 1970-01-01
        • 2022-11-30
        • 2011-10-06
        • 1970-01-01
        相关资源
        最近更新 更多