List集合的五种遍历方式

目录

一、List五种遍历方式

 1、普通for遍历

2、 增强for遍历

 3、Lambda表达式

 4、迭代器遍历

 5、列表迭代器


一、List五种遍历方式

方法 说明
迭代器遍历 在遍历的过程中需要删除元素,请使用迭代器。
列表迭代器 在遍历的过程中需要添加元素,请使用列表迭代器。
增强for遍历 仅仅想遍历,那么使用增强for或Lambda表达式。
Lambda表达式 仅仅想遍历,那么使用增强for或Lambda表达式。
普通for 如果遍历的时候想操作索引,可以用普通fo,。

 1、普通for遍历

 public static void main(String[] args) {
        List stringList = new ArrayList<>();
        stringList.add("1");
        stringList.add("2");
        stringList.add("3");
        stringList.add("4");
        stringList.add("5");

        //1、普通for循环
        for (int i = 0; i < stringList.size(); i++) {
            System.out.println(stringList.get(i));
        }
}

2、 增强for遍历

public static void main(String[] args) {
        List stringList = new ArrayList<>();
        stringList.add("1");
        stringList.add("2");
        stringList.add("3");
        stringList.add("4");
        stringList.add("5");

        
        //2、增强for循环
        for (String s : stringList) {
            System.out.println(s);
        }
}

 3、Lambda表达式

public static void main(String[] args) {
        List stringList = new ArrayList<>();
        stringList.add("1");
        stringList.add("2");
        stringList.add("3");
        stringList.add("4");
        stringList.add("5");

        //3、lamda表达式
        stringList.forEach(s -> {
            System.out.println(s);
        });
}

 4、迭代器遍历

 public static void main(String[] args) {
        List stringList = new ArrayList<>();
        stringList.add("1");
        stringList.add("2");
        stringList.add("3");
        stringList.add("4");
        stringList.add("5");

        //4、迭代器遍历
        //获取迭代器对象,迭代器就好比是一个箭头,默认指向集合的0索引处
        Iterator it = stringList.iterator();
        //利用循环不断的去获取集合中的每一个元素
        while (it.hasNext()){
            //next方法的两件事情:获取元素并移动指针
            String str = it.next();
            System.out.println(str);
        }
}

迭代器遍历注意点:
        1,报错NoSuchElementException,没有元素报异常
        2,迭代器遍历完毕,指针不会复位
        3,循环中只能用一次next方法
        4,迭代器遍历时,不能用集合的方法进行增加或者删除

 5、列表迭代器

 public static void main(String[] args) {
        List stringList = new ArrayList<>();
        stringList.add("1");
        stringList.add("2");
        stringList.add("3");
        stringList.add("4");
        stringList.add("5");

      
        System.out.println("______________");
        // 5.列表迭代器
        //获取一个列表迭代器的对象,里面的指针默认也是指向8索引的
        //额外添加了一个方法:在遍历的过程中,可以添加元素

        ListIterator lt = stringList.listIterator();
        while (lt.hasNext()){
            String str = lt.next();
            if ("2".equals(str)){
                lt.add("6");
            }
        }
        System.out.println(stringList);
    }


 

你可能感兴趣的:(开发语言,Java,算法,list,java)