📜  Java中正向遍历ArrayList

📅  最后修改于: 2022-05-13 01:54:20.354000             🧑  作者: Mango

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 方法

  1. 创建给定 ArrayList 的列表迭代器对象。
  2. 将 while 循环与条件一起用作 hasNext() 方法。
  3. 如果 hasNext() 方法返回 false,则循环中断。
  4. 否则使用 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 的长度。