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

Java中的迭代器

史绍晖
2023-03-14
问题内容

什么是迭代器和集合?这两个有关系吗?

// the interface definition
Interface Iterator {
    boolean hasNext();
    Object next(); // note "one-way" traffic
    void remove();
}

// an example
public static void main (String[] args){
    ArrayList cars = new ArrayList();

    for (int i = 0; i < 12; i++)
        cars.add (new Car());

    Iterator it = cats.iterator();

    while (it.hasNext())
        System.out.println ((Car)it.next());
}

接口迭代器是否只预定义了这些方法名称,还是用户定义了这些方法名称?下面的这四行实际上说明了什么?

cars.add (new Car());
Iterator it = cats.iterator();
while (it.hasNext())
    System.out.println ((Car)it.next());

谢谢。我正在看一本藏书。


问题答案:

顾名思义,Java集合是事物的集合。如果您不知道该单词,请在字典中查找。

有很多类型的集合。以集合的数学概念为例。您可以将任意事物放入集合中,但是永远不会包含同一事物。在集中的东西是没有顺序的,那就是你不能说 A B之前时
。集合的另一种类型是列表。列表可以包含同一事物多次,并且列表中事物的顺序很重要。

所有这些集合的共同点在于它们包含事物,在Java中将其称为 elements 。当您想知道某个集合中的内容时,可以 遍历 该集合,这只是 遍历
所有元素的另一个术语。这是做什么的Iterator。它基本上从集合的开头开始,您始终可以询问是否存在下一个元素(hasNext()),如果存在,则可以访问该元素(next()),直到遍历集合中的所有元素为止。



 类似资料:
  • 问题内容: 在游戏中,我有一个玩家列表,我们这样说: 我想让每个玩家与其他玩家互动,所以我写了两个嵌套循环: 由于我只希望每对玩家互动一次,因此我想在外循环的当前玩家之后与该玩家开始内循环。所以我想克隆迭代器,但是不能编译。 那么,我该怎么办呢? 问题答案: 将执行以下操作: 它依靠的能力从给定位置开始,并且还知道其当前位置。

  • 本文向大家介绍在Java中迭代ArrayList,包括了在Java中迭代ArrayList的使用技巧和注意事项,需要的朋友参考一下 Java中的Iterator用于遍历集合中的每个元素。使用它遍历,获取每个元素,或者甚至可以从ArrList中删除元素。要使用迭代器遍历集合的内容,请首先通过调用集合的iterator()方法来获得一个迭代器,使其到达集合的开头。在那之后,建立一个循环来调用hasNe

  • 问题内容: 是否可以使用Lambda表达式进行迭代?以下代码段的Lambda表示形式是什么: 我在其中找不到任何流。 问题答案: 如果您不喜欢在迭代开始之前将全部内容复制到(临时)列表中的事实,则可以使用简单的实用程序方法来帮助自己: 然后,您可以简单地进行操作(注意该功能)…

  • 问题内容: 我有两个哈希图 每个哈希图都有不同的键和值。我试图同时遍历两个哈希图,并乘以每个值 最简单快捷的方法是什么?我在两个哈希图中都有数千个值。 谢谢 问题答案: 您可能做错了… 首先,HashMap无法存储整数,它需要适当的对象-如整数-数组是一个对象,尽管它隐藏在某些语法糖的后面。 如果它们恰好具有相同的大小,这是循环遍历这两个地图的方法,我想这就是您的意思。 但是您可能应该回过头来重新

  • 问题内容: 我正在构建一个需要下载并与在线数据库同步的android应用,我将查询从该应用发送到php页面,该页面以JSON格式返回数据库中的相关行。 有人可以告诉我迭代JSON数组的最佳方法吗? 我收到一个对象数组: 我可以用来访问数组中的JSONObjects的最简单的代码是什么? 编辑:现在,我想到它,我用来迭代循环的方法是: 所以我想我已经能够以某种方式将返回的Json变成可迭代的数组。有

  • 问题内容: 我有一个简单的问题。有没有办法(使用我想的反射)来迭代类的所有静态值? 例如 输出量 谢谢。 问题答案: