在 C++ 中,STL 中的迭代器非常有用。我可以编写独立于容器的代码来处理序列。
但是,我发现Iterator
JavaListIterator
非常差。他们甚至不支持clone()
。我认为用它们处理序列是不可能的。
做到这一点的唯一方法似乎是永远使用数组,但是当我将数组更改为List
s 时如何重用我的代码?
处理序列就是对一个Object
s的序列做一些算法。例如,对它们进行排序、查找最大值、删除重复项。
List<Type> list = new List<Type>
//add the elements...
for(Type t : list)
//do you stuff with t
通常,您不需要在 Java 中显式使用迭代器。此外,请小心使用 .clone(),因为它很少是最合适的解决方案。
List 本身就是一个接口,由不同的容器实现。
我会使用 List<Type>,并避免使用 clone(),因为它并不总是按照您的想法进行。即它可以是浅的或深的,具体取决于实现。
List 是一个基础类。也许如果您举例说明您遇到的问题,我们可以为您提供帮助。