java - 什么类直接实现ListIterator?

标签 java

哪个类实际实现了接口(interface)ListIterator?我正在研究 Collections API.. 似乎在 List 实现类中返回 ListIterator 的实际方法是直接在 List< 中指定的 本身。

ListIterator 接口(interface)指定了您用来操作迭代器的实际方法。但我无法找到实现此功能的实际类。

哪个类实际上实现了允许 List 类中的方法工作的接口(interface) ListIterator

我确信必须有一个实现类,因为调用 listIterator() 本身肯定不能返回接口(interface),必须有一些实例化的东西。

最佳答案

使用源卢克...使用源。

来自 JDK 8 (1.8.0_45) 中 ArrayList 的源代码

public ListIterator<E> listIterator() {
    return new ListItr(0);
}

// then line 905
/**
 * An optimized version of AbstractList.ListItr
 */
private class ListItr extends Itr implements ListIterator<E> {
    ListItr(int index) {
        super();
        cursor = index;
    }
// etc

因此,ArrayList返回的ListIterator是一个私有(private)内部类,它实现了ListIterator接口(interface)。

关于java - 什么类直接实现ListIterator?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30185924/

相关文章:

java - 我们可以使用 REST-Assured 框架设置多个 header 吗

java - 正确的 Vertx 数据库礼仪

java - 用for循环检查字符串是否包含字符?

java - 为什么我的 spring @bean 从未实例化?

java - 与项目 'com.android.support:support-media-compat' 中的依赖项 ':app' 冲突

java - java中向Hashmap中插入字符。HashMap中字符的顺序与输入顺序不同

java - 在 Java 中使用 Mutator 的二进制类型的错误操作数类型

java - 无法启动应用程序。无法加载指定的文件/url。如何重建快捷方式?

java - 在 Linux/Unix 上被动监控 SQL 查询

java - Selenium WebDriver 中的无限等待