当前位置: 首页 > 面试题库 >

Iterable接口用于什么?

郭志泽
2023-03-14
问题内容

我是一个初学者,我无法理解Iterable界面的实际效果。


问题答案:

除了Jeremy所说的以外,它的主要好处是它具有自己的语法糖:增强的for-
loop
。如果您有个Iterable<String>,则可以执行以下操作:

for (String str : myIterable) {
    ...
}

很好很容易,不是吗?编译器会在后台处理创建Iterator<String>,检查它hasNext()和调用的所有肮脏工作str = getNext()

而且由于大多数集合都实现了Iterable或具有返回一个视图的视图(例如MapkeySet()values()),所以这使使用集合更加容易。

Iterable的Javadoc给出了实现类的完整列表Iterable



 类似资料:
  • 我对Java还很陌生,今天我试图理解迭代器的使用。 所以我有几个问题: > 为什么我需要实现Iterable呢?它只提供了一个为集合创建新迭代器的方法,但如果我想获取所有元素,我也可以使用普通的或增强的for循环。我已经读过这个问题:可迭代接口用于什么?还有更多,但他们只是说它允许你遍历所有元素,这又回到了我的问题。 如果我实现了Iterable,我也应该实现迭代器吗 因为这一个实际上提供了可用于

  • 问题内容: 给定以下代码,如何遍历ProfileCollection类型的对象? 问题答案: Iterable是通用接口。您可能遇到的问题(实际上并没有说出您遇到的问题,如果有的话)是,如果使用通用接口/类而不指定类型实参,则可以擦除不相关的通用类型在课堂上。 因此,我至少将其更改为: 这应该工作: 在Iterable上没有type参数的情况下,迭代器可以简化为Object类型,因此只有这样才能起

  • 当我看到Iterable接口源时,它看起来像方法和方法不是抽象的。接口如何具有非抽象方法?还是我在这件事上漏掉了什么?请参阅下面的接口源代码。

  • 问题内容: 我最近参加了一次采访,他们问我一个问题:“为什么接口比抽象类更受青睐?” 我尝试给出一些答案,例如: 我们只能获得一种扩展功能 他们是100%抽象 实现不是硬编码的 他们要求我使用您使用的任何JDBC API。“它们为什么是接口?”。 我可以为此得到更好的答案吗? 问题答案: 该面试问题反映出提出该问题的人的某种信念。我相信这个人是错的,因此您可以选择两个方向之一。 给他们他们想要的答

  • 当我编写一些spring代码时,我使用了带有class和annotation-config的Spring4。我已经声明一个bean将接口实现为组件。我正在尝试制作另一个bean来依赖于它的接口时间。但它不起作用,因为spring抛出一个错误,在该名称中找不到bean。我想这可能是因为只靠和实体类的自动电线工作,但我不知道为什么它会这样设置?有人能解释为什么依赖注释不允许类型自动连接到接口吗? 简单

  • 问题内容: 在现实世界中,人们将其用于(解决什么类型的问题)?我可以看到其中的一些示例代码吗?我所能找到的只是关于猫和狗说话或喝牛奶或咖啡的人的代码… 人们真的通过接口实现多态吗?做什么的? 问题答案: 当然, 下面是“观察者”模式的具体示例,该模式在记录器系统中使用类和接口来实现多态行为: 然后,您可以按以下方式使用它: 希望这有助于您理解接口和多态性。