如何在Java类的ArrayList返回一个Iterator对象? [英] How does the Java class ArrayList return an Iterator Object?

查看:365
本文介绍了如何在Java类的ArrayList返回一个Iterator对象?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我知道你通过调用您创建的ArrayList中的iterator()方法得到它,但到底是什么方法,什么样子的?

I know that you get it by calling the iterator() method on the ArrayList that you created, but what does that method look like?

由于的Iterator是只在Java定义的接口,我不知道该ArrayList如何传回的具体实现Iterator的?

Since Iterator is only an interface defined in Java, I am not sure how the ArrayList passes back a concrete implementation of the Iterator?

我知道如何实现这些我自己对我自己的课......我想知道Java的ArrayList中是怎么做的......也许有具体迭代器类标准库,我不知道?

I know how to implement these myself for my own classes...I want to know how Java's ArrayList does it...maybe there is a concrete Iterator Class in the standard Library I don't know about?

推荐答案

您可以找到它youself

You can find it out youself

System.out.println(new ArrayList().iterator().getClass());

我得到类java.util.ArrayList中的$ ITR 也许你。 $ 标志意味着内部类(静态或不)。如果我们去里面源,我们会看到

I get class java.util.ArrayList$Itr probably you too. $ sign mean inner class (static or not). And if we go inside source we'll see

public Iterator<E> iterator() {
    return new Itr();
}

和本文件后面的

private class Itr implements Iterator<E> { ... }

这篇关于如何在Java类的ArrayList返回一个Iterator对象?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆