【发布时间】:2013-06-22 12:47:51
【问题描述】:
我是 Java 初学者,我有这个疑问。是否可以在 ArrayList 上使用 Java 中的增强型 for 循环,但从指定点而不是 ArrayList[0] 开始。
For eg. ArrayList<Integer> calc = new ArrayList<Integer>;
// calc contains {0,1,2,3,4,5,6,7}
我可以使用增强的 for 循环并从 calc[2] 而不是 calc[0] 开始迭代吗?如果可能的话,我该怎么做? 在我的特定情况下,使用增强的 for 循环会更好,而不是普通的 for 循环。
【问题讨论】:
-
当我需要索引时,不管是什么原因,我从不使用增强的 for 循环。增强的 for 与 c# 中的 foreach 完全相同:它循环包含在列表中的每个对象并处理它们。
-
为什么你认为增强的 for 循环会更好?
-
@duffymo 我基本上想遍历 ArrayList ......而增强的 for 循环是最好的......但我想从不同的点而不是 ArrayList [0] 开始。 ..所以我想知道是否可以修改增强的 for 循环以适合我的目的?
-
不需要“基本上”。我知道你想要什么。我不同意你坚持认为增强循环是“最好的”。不,不能修改。使用传统的 for 循环并完成它。
-
BTW 建议尽可能使用集合接口而不是实际实现,所以不要使用 ArrayList
calc = new ArrayList();我建议使用 List calc = new ArrayList();这样,从一种列表实现切换到另一种实现只是一个地方的变化(以及考虑后果的时间,尤其是时间复杂度)。