当前位置:首页 > Java

java 如何遍历list

2026-02-04 21:12:42Java

遍历 List 的常见方法

使用 for 循环 通过索引遍历 List,适用于需要操作索引的场景。

List<String> list = Arrays.asList("A", "B", "C");
for (int i = 0; i < list.size(); i++) {
    String element = list.get(i);
    System.out.println(element);
}

增强 for 循环(for-each) 简洁高效,适用于不需要索引的遍历。

java 如何遍历list

List<String> list = Arrays.asList("A", "B", "C");
for (String element : list) {
    System.out.println(element);
}

使用 Iterator 支持在遍历时通过 remove() 安全删除元素。

List<String> list = new ArrayList<>(Arrays.asList("A", "B", "C"));
Iterator<String> iterator = list.iterator();
while (iterator.hasNext()) {
    String element = iterator.next();
    System.out.println(element);
}

使用 ListIterator 双向遍历,支持在遍历时修改或添加元素。

java 如何遍历list

List<String> list = new ArrayList<>(Arrays.asList("A", "B", "C"));
ListIterator<String> listIterator = list.listIterator();
while (listIterator.hasNext()) {
    String element = listIterator.next();
    System.out.println(element);
}

使用 Java 8 forEach + Lambda 函数式编程风格,代码简洁。

List<String> list = Arrays.asList("A", "B", "C");
list.forEach(element -> System.out.println(element));

使用 Stream API 适用于需要过滤、映射等操作的场景。

List<String> list = Arrays.asList("A", "B", "C");
list.stream().forEach(System.out::println);

注意事项

  • 并发修改:直接使用 for 循环或 for-each 遍历时调用 List.remove() 会抛出 ConcurrentModificationException,应使用 Iterator.remove()
  • 性能差异:大数据量下,Stream API 可能因并行处理更快,但小数据量时传统循环更高效。
  • 不可变 ListArrays.asList() 生成的 List 不可修改,需转换为可变集合(如 new ArrayList<>())才能增删元素。

标签: 遍历java
分享给朋友:

相关文章

java如何输出

java如何输出

输出到控制台 使用 System.out.println() 方法输出内容到控制台,适用于调试或简单信息展示。 示例代码: System.out.println("Hello, World!")…

java如何删除文件

java如何删除文件

删除文件的基本方法 使用 java.io.File 类的 delete() 方法可以删除文件。如果文件存在且删除成功,返回 true;否则返回 false。 import java.io.Fil…

java如何创建包

java如何创建包

创建Java包的步骤 在Java中,包(package)用于组织和管理类文件,避免命名冲突。以下是创建Java包的详细方法: 定义包名 在Java源文件的开头使用package关键字声明包名。包名…

java中如何输入

java中如何输入

输入方法 在Java中,可以通过多种方式实现输入操作,具体取决于输入来源和需求。以下是几种常见的输入方法: 使用Scanner类 Scanner类是Java中最常用的输入工具,适用于从控制台或文件读…

java如何避免死锁

java如何避免死锁

避免死锁的方法 固定顺序获取锁 确保所有线程按照相同的顺序获取多个锁。例如,若需要获取锁A和锁B,所有线程必须先获取A再获取B,避免交叉依赖导致的死锁。这种方式破坏了“循环等待”条件。 使用锁超时机…

java如何导入jar包

java如何导入jar包

在Eclipse中导入JAR包 右键项目 -> 选择"Properties" -> 左侧导航选择"Java Build Path" -> 切换到"Libraries"标签 ->…