我正在尝试为我的二叉搜索树实现一个迭代器类。 (更准确地说,它是一个 KD-Tree,但我认为这不会改变太多事情)。我希望迭代器遵循树的有序遍历。我有一个 arrayList,其中包含按“按顺序”顺序排列的叶节点,并且我希望迭代器按此顺序迭代这些叶节点。如何使用这个 arrayList 来实现 next() 方法?
我尝试在 Iterator 类中创建一个名为 index 的 int 字段。然后我的 next() 方法会将索引增加 1 并返回 arrayList.get(index)。然而,这似乎不起作用。
使用 arrayList 来实现 next() 并不是必需的,但这似乎是最简单的方法。如果有一种方法可以用 arrayList 做到这一点,那将是首选。这可能吗?如果没有,欢迎任何建议!谢谢
最佳答案
您可以使用 iterator() 方法为列表创建迭代器。
// Create and populate the list
ArrayList<String> list = new ArrayList<>();
list.add("Hello");
list.add("World");
// Displaying the list
System.out.println("The list is: "+ list);
// Create an iterator for the list
// using iterator() method
Iterator<String> iter = list.iterator();
while (iter.hasNext()) {
System.out.print(iter.next() + " ");
}
关于java - 如何使用 arrayList 在 Iterator 中实现 next(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58869945/