如何在 Java 中循环 ArrayList

简介: 【8月更文挑战第23天】

简介

ArrayList 是 Java 中一个常用的集合框架类,用于存储元素的列表。它提供了多种方法来遍历和迭代其元素。

使用 for-each 循环

for-each 循环(也称为增强型 for 循环)是一种简单而简洁的方法来遍历 ArrayList 中的每个元素。它的语法如下:

for (元素类型 变量 : 集合) {
   
    // 代码块
}

示例:

ArrayList<String> names = new ArrayList<>();
names.add("John");
names.add("Mary");
names.add("Bob");

for (String name : names) {
   
    System.out.println(name); // 输出:John、Mary、Bob
}

使用迭代器

迭代器是另一种遍历 ArrayList 中元素的方法。它提供了更多的控制和灵活性。要获取迭代器,可以使用以下方法:

Iterator<元素类型> iterator = 集合.iterator();

然后,可以使用以下方法遍历迭代器中的元素:

  • hasNext():检查迭代器中是否还有元素。
  • next():返回迭代器中的下一个元素。
  • remove():从集合中删除当前元素(可选)。

示例:

ArrayList<String> names = new ArrayList<>();
names.add("John");
names.add("Mary");
names.add("Bob");

Iterator<String> iterator = names.iterator();

while (iterator.hasNext()) {
   
    String name = iterator.next();
    System.out.println(name); // 输出:John、Mary、Bob
}

使用 lambda 表达式

Java 8 引入了 lambda 表达式,提供了一种更简洁的方式来遍历 ArrayList。lambda 表达式可以与 forEach() 方法结合使用,如下所示:

ArrayList<String> names = new ArrayList<>();
names.add("John");
names.add("Mary");
names.add("Bob");

names.forEach(name -> System.out.println(name)); // 输出:John、Mary、Bob

并发修改

需要注意的是,在遍历 ArrayList 时对其进行修改可能会导致意外行为。例如,在使用 for-each 循环时,如果从 ArrayList 中删除元素,则会抛出 ConcurrentModificationException 异常。要避免此问题,可以使用迭代器或在遍历之前复制 ArrayList。

总结

有几种方法可以在 Java 中循环 ArrayList:for-each 循环、迭代器和 lambda 表达式。选择最合适的方法取决于所需的灵活性、控制和并发修改处理。

目录
相关文章
|
22天前
|
存储 算法 Java
Arraylist 在 Java 中能容纳多少个元素?
【8月更文挑战第23天】
45 0
|
22天前
|
Java
|
22天前
|
存储 Java
|
17天前
|
存储 Java
Java中ArrayList 元素的排序
本文提供了Java中根据`ArrayList`元素的某个属性进行排序的示例代码,包括实现`Comparable`接口和重载`compareTo`方法,然后使用`Collections.sort`方法进行排序。
|
22天前
|
Java
如何在 Java 中使 Arraylist 匿名?
【8月更文挑战第23天】
29 0
|
22天前
|
存储 Java 编译器
|
22天前
|
存储 Java API
|
22天前
|
存储 Java API
如何在 Java 中为 ArrayList 分配值?
【8月更文挑战第23天】
42 0
|
22天前
|
存储 安全 Java
|
22天前
|
存储 Java
Java 中 ArrayList 的初始大小是多少?
【8月更文挑战第23天】
50 0