java - 如何使用 arrayList 在 Iterator 中实现 next()

标签 java iterator binary-search-tree inorder

我正在尝试为我的二叉搜索树实现一个迭代器类。 (更准确地说,它是一个 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/

相关文章:

java - 如何将API调用对象正确映射到Java对象?

c - 二叉树 - 完成

c++ - 我的程序需要读取一个文本文件,文本文件中的数据需要用逗号分隔(C++)

java - 如何保存具有 ListView 的 fragment 状态

java - spring 登录失败后获取用户名

for 循环陷阱中的 C++ 迭代器?

java - 实现这样的迭代器?

python - 从 Python Shell、IPython 控制台和脚本内部运行时 Next 函数的不同行为

存储名字和姓氏的算法和数据结构

java - 修改FileInputStream(文件的某些部分)