Java中List集合的三种遍历方式(全网最详)

Posted 今哥贴码李两岁

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java中List集合的三种遍历方式(全网最详)相关的知识,希望对你有一定的参考价值。

  List集合在Java日常开发中是必不可少的,只要懂得运用各种各样的方法就可以大大提高我们开发的效率,适当活用各种方法才会使我们开发事半功倍。

  我总结了三种List集合的遍历方式,下面一一来介绍。

 

  首先来创建一个实体类,以供下面使用。

public class News{
    private int id;
    private String title;
    private String author;
    
    public News(int id, String title, String author) {
        super();
        this.id = id;
        this.title = title;
        this.author = author;
    }
    
    public int getId() {
        return id;
    }

    public void setId(int id) {
        this.id = id;
    }

    public String getTitle() {
        return title;
    }

    public void setTitle(String title) {
        this.title = title;
    }

    public String getAuthor() {
        return author;
    }

    public void setAuthor(String author) {
        this.author = author;
    }

}

 

第一种、最基础的遍历方式: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集合的自动遍历

  具体步骤:

     ① 使用列表调用,iterator()返回一个迭代器对象;
    ② 使用迭代器对象调用,hasNext()判断是否有下一条数据;
    ③ 使用迭代器对象调用。

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集合的三种遍历方式(全网最详)的主要内容,如果未能解决你的问题,请参考以下文章

Arraylist 三种常用遍历

java中遍历集合的三种方式

Java中List集合遍历的三种方式

Java数组集合的三种遍历方式(包懂)

Java遍历List集合的三种方法

遍历list集合的三种方式