Java中正向遍历ArrayList
ArrayList是集合框架的一部分,存在于Java.util 包中。它为我们提供了Java中的动态数组。 Java.util.ArrayList 类的 listIterator() 方法用于返回此列表中元素的列表迭代器(以适当的组织顺序)。 ArrayList 可以使用多种方式向前遍历。
例子:
Input : ArrayList: [5, 6, 8, 10]
Output:
Value is : 5
Value is : 6
Value is : 8
Value is : 10
方法一:使用 listIterator 方法
- 创建给定 ArrayList 的列表迭代器对象。
- 将 while 循环与条件一起用作 hasNext() 方法。
- 如果 hasNext() 方法返回 false,则循环中断。
- 否则使用 object.next() 方法打印值。
例子:
Java
// Traverse through ArrayList in
// forward direction using Java
import java.util.*;
import java.io.*;
class GFG {
public static void main(String[] args)
{
ArrayList alist = new ArrayList<>();
// adding element to arrlist
alist.add(5);
alist.add(6);
alist.add(8);
alist.add(10);
ListIterator it = alist.listIterator();
while (it.hasNext()) {
System.out.println("Value is : " + it.next());
}
}
}
Java
// Traverse through ArrayList in
// forward direction using Java
import java.util.*;
import java.io.*;
class GFG {
public static void main(String[] args)
{
ArrayList alist = new ArrayList<>();
// adding element to arrlist
alist.add(5);
alist.add(6);
alist.add(8);
alist.add(10);
for (int i = 0; i < alist.size(); i++)
System.out.println("Value is : "
+ alist.get(i));
}
}
Java
// Traverse through ArrayList in
// forward direction using Java
import java.util.*;
import java.io.*;
class GFG {
public static void main(String[] args)
{
ArrayList alist = new ArrayList<>();
// adding element to arrlist
alist.add(5);
alist.add(6);
alist.add(8);
alist.add(10);
for (Integer i : alist)
System.out.println("Value is : " + i);
}
}
Java
// Traverse through ArrayList in
// forward direction using Java
import java.util.*;
import java.io.*;
class GFG {
public static void main(String[] args)
{
ArrayList alist = new ArrayList<>();
// adding element to arrlist
alist.add(5);
alist.add(6);
alist.add(8);
alist.add(10);
// lambda
alist.forEach(
i -> System.out.println("Value is : " + i));
}
}
输出
Value is : 5
Value is : 6
Value is : 8
Value is : 10
时间复杂度: O(N),其中 N 是 ArrayList 的长度。
方法 2:使用 For 循环
使用 for 循环打印 ArrayList 中的所有值。 ArrayList 的大小可以使用 ArrayList.size() 方法获取,访问元素使用 ArrayList.get() 方法。
执行:
Java
// Traverse through ArrayList in
// forward direction using Java
import java.util.*;
import java.io.*;
class GFG {
public static void main(String[] args)
{
ArrayList alist = new ArrayList<>();
// adding element to arrlist
alist.add(5);
alist.add(6);
alist.add(8);
alist.add(10);
for (int i = 0; i < alist.size(); i++)
System.out.println("Value is : "
+ alist.get(i));
}
}
输出
Value is : 5
Value is : 6
Value is : 8
Value is : 10
时间复杂度: O(N),其中 N 是 ArrayList 的长度。
方法 3:使用 forEach 循环
使用 for 每个循环打印 ArrayList 中的所有值。
例子:
Java
// Traverse through ArrayList in
// forward direction using Java
import java.util.*;
import java.io.*;
class GFG {
public static void main(String[] args)
{
ArrayList alist = new ArrayList<>();
// adding element to arrlist
alist.add(5);
alist.add(6);
alist.add(8);
alist.add(10);
for (Integer i : alist)
System.out.println("Value is : " + i);
}
}
输出
Value is : 5
Value is : 6
Value is : 8
Value is : 10
时间复杂度: O(N),其中 N 是 ArrayList 的长度。
方法 4:使用 Lambda函数
使用 lambda函数打印 ArrayList 中的所有值。
例子:
Java
// Traverse through ArrayList in
// forward direction using Java
import java.util.*;
import java.io.*;
class GFG {
public static void main(String[] args)
{
ArrayList alist = new ArrayList<>();
// adding element to arrlist
alist.add(5);
alist.add(6);
alist.add(8);
alist.add(10);
// lambda
alist.forEach(
i -> System.out.println("Value is : " + i));
}
}
输出
Value is : 5
Value is : 6
Value is : 8
Value is : 10
时间复杂度: O(N),其中 N 是 ArrayList 的长度。