List集合遍历三种方法

List集合遍历方法精讲

List集合遍历三种方法


第一种、最基础的遍历方式:for循环,指定下标长度,使用List集合的size()方法,进行for循环遍历
import java.util.ArrayList;

public class Demo01 {

  public static void main(String[] args) {

   ArrayList<News> list = new ArrayList<News>();
    
   list.add(new News(1,"list1","a"));
   list.add(new News(2,"list2","b"));
   list.add(new News(3,"list3","c"));
   list.add(new News(4,"list4","d"));
   for (int i = 0; i < list.size(); i++) {
            News s = (News)list.get(i);
            System.out.println(s.getId()+"  "+s.getTitle()+"  "+s.getAuthor());
    }
  }
}
第二种、较为简洁的遍历方式:使用foreach遍历List,但不能对某一个元素进行操作(这种方法在遍历数组和Map集合的时候同样适用)
import java.util.ArrayList;

public class Demo02 {

  public static void main(String[] args) {

    ArrayList<News> list = new ArrayList<News>();
     list.add(new News(1,"list1","a"));
     list.add(new News(2,"list2","b"));
     list.add(new News(3,"list3","c"));
     list.add(new News(4,"list4","d"));

    for (News s : list) {
            System.out.println(s.getId()+"  "+s.getTitle()+"  "+s.getAuthor());
   }
  }
}
第三种、适用迭代器Iterator遍历:直接根据List集合的自动遍历
import java.util.ArrayList;

public class Demo03 {

  public static void main(String[] args) {

   ArrayList<News> list = new ArrayList<News>();
    
   list.add(new News(1,"list1","a"));
   list.add(new News(2,"list2","b"));
   list.add(new News(3,"list3","c"));
   list.add(new News(4,"list4","d"));
   
     Iterator<News> iter = list.iterator();
     while (iter.hasNext()) {
            News s = (News) iter.next();
            System.out.println(s.getId()+"  "+s.getTitle()+"  "+s.getAuthor());
    }
  }
} 
在 Java 中,`List` 集合遍历方法有多种,主要包括以下几种: ### 使用索引和 `get()` 方法的 `for` 循环 通过 `for` 循环结合 `size()` 和 `get()` 方法,可以利用索引逐个访问集合中的元素: ```java List<String> list = new ArrayList<>(); list.add("java"); list.add("mysql"); list.add("true"); for (int i = 0; i < list.size(); i++) { String s = list.get(i); System.out.println(s); } ``` 这种方式直接通过索引访问每个元素,适合需要索引信息的场景[^2]。 ### 使用 `Iterator` 迭代器 `Iterator` 是一种通用的遍历方式,适用于所有 `Collection` 类型的集合。它通过 `hasNext()` 和 `next()` 方法逐个获取元素: ```java List<String> list = new ArrayList<>(); list.add("java"); list.add("mysql"); list.add("true"); Iterator<String> it = list.iterator(); while (it.hasNext()) { String b = it.next(); System.out.println(b); } ``` 此外,`Iterator` 还提供了 `remove()` 方法,可以在遍历过程中删除元素: ```java while (it.hasNext()) { Object next = it.next(); System.out.println("next=" + next); it.remove(); // 删除当前元素 } ``` 这种方式在需要动态修改集合时非常有用[^4]。 ### 使用增强的 `for` 循环 增强的 `for` 循环(也称为 for-each 循环)简化了代码,使遍历更加直观: ```java List<String> list = new ArrayList<>(); list.add("java"); list.add("mysql"); list.add("true"); for (String c : list) { System.out.println(c); } ``` 这种方式适合不需要索引或迭代器的简单遍历场景[^1]。 ### 使用 `forEach()` 方法和 Lambda 表达式 Java 8 引入了 `forEach()` 方法,结合 Lambda 表达式,可以更简洁地实现遍历: ```java List<String> list = new ArrayList<>(); list.add("java"); list.add("mysql"); list.add("true"); list.forEach(d -> { System.out.println(d); }); ``` 这种方式不仅代码简洁,而且可以利用函数式编程特性,提高代码的可读性和灵活性[^1]。 ### 使用 `Iterator` 的 `forEachRemaining()` 方法 `Iterator` 接口还提供了 `forEachRemaining()` 方法,可以直接对迭代器中的所有元素执行操作: ```java List<String> list = new ArrayList<>(); list.add("java"); list.add("mysql"); list.add("true"); Iterator<String> iterator = list.iterator(); iterator.forEachRemaining(o -> System.out.println(o)); ``` 这种方式结合了 Lambda 表达式的优势,使代码更加简洁[^3]。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值