Java 如何遍历List
List接口扩展了Collection接口,并声明了存储元素序列的集合的行为。列表的用户对于在列表中插入元素的位置有相当精确的控制。这些元素可以通过它们的索引进行访问和搜索。ArrayList是List接口最流行的实现。
Java List可以使用多种方式进行迭代。在本文中,我们将讨论遍历列表的各种方式和相应的示例。
方式1
使用for/while循环迭代列表并通过索引获取元素。
for(int i= 0; i < list.size(); i++) {
System.out.println(list.get(i));
}
方式2
使用 foreach 循环来迭代元素列表。
for (Integer integer : list) {
System.out.print(integer + " ");
}
方式3
使用列表的迭代器遍历其元素。
Iterator<Integer> iterator = list.iterator();
while(iterator.hasNext()) {
System.out.print(iterator.next() + " ");
}
方式4
使用列表的listIterator来迭代其元素。
Iterator<Integer> iterator = list.iterator();
while(iterator.hasNext()) {
System.out.print(iterator.next() + " ");
}
方式5
使用forEach方法遍历列表中的元素。
list.forEach(i -> {System.out.print(i + " ");});
方式6
使用流的forEach方法遍历列表的元素。
list.stream().forEach(i -> {System.out.print(i + " ");});
示例1
以下是一个示例,展示了循环和迭代器方法来迭代一个列表 –
package com.tutorialspoint;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Iterator;
import java.util.List;
public class CollectionsDemo {
public static void main(String[] args) {
List<Integer> list = new ArrayList<>(Arrays.asList(1,2,3,4,5));
for(int i= 0; i< list.size(); i++) {
System.out.print(list.get(i) + " ");
}
System.out.println();
for (Integer integer : list) {
System.out.print(integer + " ");
}
Iterator<Integer> iterator = list.iterator();
System.out.println();
while(iterator.hasNext()) {
System.out.print(iterator.next() + " ");
}
}
}
输出
这将产生以下结果 –
1 2 3 4 5
1 2 3 4 5
1 2 3 4 5
示例2
以下是另一个示例,展示了使用listIterator、forEach和streams方法来迭代列表的方法:
package com.tutorialspoint;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Iterator;
import java.util.List;
public class CollectionsDemo {
public static void main(String[] args) {
List<Integer> list = new ArrayList<>(Arrays.asList(1,2,3,4,5));
Iterator<Integer> listIterator = list.listIterator();
while(listIterator.hasNext()) {
System.out.print(listIterator.next() + " ");
}
System.out.println();
list.forEach(i -> {System.out.print(i + " ");});
System.out.println();
list.stream().forEach(i -> {System.out.print(i + " ");});
}
}
输出
这将产生以下结果 –
1 2 3 4 5
1 2 3 4 5
1 2 3 4 5