在C ++中,STL中的迭代器非常有用。我可以编写与容器无关的代码来处理序列。
但是,我发现Iterator
和ListIterator
在Java中非常差。他们甚至不支持clone()
。我认为用它们处理序列是不可能的。
执行此操作的唯一方法似乎是永远使用数组,但是当我将数组更改为List
时,如何重用我的代码?
处理序列是对Object
s的序列进行一些算法。例如,对它们进行排序,找到最大值,删除重复的项目。
答案 0 :(得分:2)
List<Type> list = new List<Type>
//add the elements...
for(Type t : list)
//do you stuff with t
通常,您不需要在Java中显式使用迭代器。另外,请注意.clone(),因为它很少是最合适的解决方案。
列表本身是一个由不同容器实现的接口。
答案 1 :(得分:0)
我会使用List&lt; Type&gt;,并避免使用clone(),因为它并不总是按照您的想法行事。即根据实施情况,它可以是浅的或深的。
列表是一个基本类。也许如果你举例说明你遇到的问题我们可以帮助你。