如何迭代Java ArrayList
时间:2020-01-09 10:35:00 来源:igfitidea点击:
在本文中,我们将介绍在Java中迭代ArrayList的不同方法。迭代ArrayList的选项如下:
- 使用普通的for循环
- 使用For-Each循环(Advanced for循环),可从Java 5获得
- 使用Iterator或者ListIterator(仅当我们要向前和向后迭代而不是顺序循环ArrayList时,才使用ListIterator)。
- 使用Java 8提供的forEach语句
在Java示例中迭代ArrayList
这是一个Java示例代码,显示了上述所有循环ArrayList的方法。
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import java.util.ListIterator;
public class ArrayListIteration {
public static void main(String[] args) {
List<String> nameList = new ArrayList<String>();
// adding elements
nameList.add("Adam");
nameList.add("Amy");
nameList.add("Jim");
nameList.add("Leo");
System.out.println("**Iterating using normal for loop**");
for(int i = 0; i < nameList.size(); i++){
System.out.println("Name-- " + nameList.get(i));
}
System.out.println("**Iterating using For-Each loop**");
for(String name : nameList){
System.out.println("Name- " + name);
}
System.out.println("**Iterating using Iterator**");
// getting iterator
Iterator itr = nameList.iterator();
while(itr.hasNext()){
System.out.println("Name- " + itr.next());
}
System.out.println("**Iterating using ListIterator**");
ListIterator ltr = nameList.listIterator();
while(ltr.hasNext()){
System.out.println("Name- " + ltr.next());
}
System.out.println("**Iterating using forEach statement**");
nameList.forEach((n)->System.out.println("Name - " + n));
}
}
输出:
**Iterating using normal for loop** Name-- Adam Name-- Amy Name-- Jim Name-- Leo **Iterating using For-Each loop** Name- Adam Name- Amy Name- Jim Name- Leo **Iterating using Iterator** Name- Adam Name- Amy Name- Jim Name- Leo **Iterating using ListIterator** Name- Adam Name- Amy Name- Jim Name- Leo **Iterating using forEach statement** Name - Adam Name - Amy Name - Jim Name - Leo
因此,这些是用于在Java中迭代ArrayList的选项。如果只想按顺序遍历列表,则for-each循环是最佳选择。如果要在迭代时进行修改,则应使用Iterator或者ListIterator,否则对列表进行的任何结构修改都将导致抛出ConcurrentModificationException。

