遍历集合中的元素

在 Java 语言中,遍历集合中的元素有很多种方式,例如使用 Iterator 遍历集合中的元素、使用 foreach 循环遍历集合中的元素、使用 forEach() 方法遍历集合中的元素等。下面将分别对上述遍历集合的方式进行讲解。

Iterator遍历集合中的元素

Iterator(又称“迭代器”)是一个接口,主要用于遍历 Collection 集合中的元素。在遍历 Collection 集合中的元素时,需要使用 Iterator 接口中用于判断集合中的元素是否被遍历完全的 hasNext() 方法和用于返回集合里的下一个元素的 next() 方法。

例如,定义一个 Collection 集合,向 Collection 集合中添加 “Java从入门到精通”、“C语言从入门到精通”、“C#从入门到精通” 3 个元素后,使用 Iterator 遍历集合中的元素,并把它们输出到控制台上。代码如下:

import java.util.ArrayList;
import java.util.Collection;
import java.util.Iterator;

public class Test {
    public static void main(String[] args) {
        // 定义一个Collection集合
        Collection ct = new ArrayList<>();
        ct.add("Java 从入门到精通");
        ct.add("C 语言从入门到精通");
        ct.add("C# 从入门到精通");
        // 获取 Collection 集合对应的迭代器
        Iterator it = ct.iterator();
        while (it.hasNext()) {
            // it.next()方法返回的数据类型是 Object 类型,因此需要强制类型转换
            String obj = (String)it.next();
            System.out.println(obj);
        }
    }
}

运行结果如下:

     Java从入门到精通
     C语言从入门到精通
     C#从入门到精通

使用foreach循环遍历集合中的元素

使用 foreach 循环遍历集合中的元素要比使用 Iterator 遍历集合中的元素更加便捷。

例如,定义一个 Collection 集合,向 Collection 集合中添加 “Java从入门到精通”、“C语言从入门到精通”、“C#从入门到精通” 3 个元素后,使用 foreach 循环遍历集合中的元素,并把它们输出到控制台上。代码如下:

import java.util.ArrayList;
import java.util.Collection;

public class Test {
    public static void main(String[] args) {
        // 定义一个Collection集合
        Collection ct = new ArrayList<>();
        ct.add("Java 从入门到精通");
        ct.add("C 语言从入门到精通");
        ct.add("C# 从入门到精通");
        while (Object object: ct) {
            String value = (String)object;
            System.out.println(value);
        }
    }
}

运行结果如下:

     Java从入门到精通
     C语言从入门到精通
     C#从入门到精通

使用forEach()方法遍历集合中的元素

forEach() 方法是 Iterable 接口中的一个默认方法。为了遍历 Collection 集合中的元素,即可调用 forEach() 方法。

例如,定义一个 Collection 集合,向 Collection 集合中添加 “Java从入门到精通”、“C语言从入门到精通”、“C#从入门到精通” 3 个元素后,使用 forEach() 方法遍历集合中的元素,并把它们输出到控制台上。代码如下:

import java.util.ArrayList;
import java.util.Collection;

public class Test {
    public static void main(String[] args) {
        Collection ct = new ArrayList<>();  // 定义一个 Collection 集合
        ct.add("Java 从入门到精通");
        ct.add("C 语言从入门到精通");
        ct.add("C# 从入门到精通");
        ct.forEach(e -> System.out.println(e));
    }
}

运行结果如下:

     Java从入门到精通
     C语言从入门到精通
     C#从入门到精通