我们如何通常在Java中处理序列?

时间:2012-04-30 15:40:55

标签: java iterator sequence

在C ++中,STL中的迭代器非常有用。我可以编写与容器无关的代码来处理序列。

但是,我发现IteratorListIterator在Java中非常差。他们甚至不支持clone()。我认为用它们处理序列是不可能的。

执行此操作的唯一方法似乎是永远使用数组,但是当我将数组更改为List时,如何重用我的代码?


处理序列是对Object s的序列进行一些算法。例如,对它们进行排序,找到最大值,删除重复的项目。

2 个答案:

答案 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(),因为它并不总是按照您的想法行事。即根据实施情况,它可以是浅的或深的。

列表是一个基本类。也许如果你举例说明你遇到的问题我们可以帮助你。