List集合的五种遍历方式

博客主要介绍了Java中List的五种遍历方式,包括普通for遍历、增强for遍历、Lambda表达式、迭代器遍历和列表迭代器。同时还指出了迭代器遍历的注意点,如可能报NoSuchElementException异常、指针不会复位等。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

目录

一、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<String> 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<String> 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<String> 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<String> stringList = new ArrayList<>();
        stringList.add("1");
        stringList.add("2");
        stringList.add("3");
        stringList.add("4");
        stringList.add("5");

        //4、迭代器遍历
        //获取迭代器对象,迭代器就好比是一个箭头,默认指向集合的0索引处
        Iterator<String> 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<String> stringList = new ArrayList<>();
        stringList.add("1");
        stringList.add("2");
        stringList.add("3");
        stringList.add("4");
        stringList.add("5");

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

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


 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值