Java关于集合遍历的几种方法以及对比

package com.etime.example;

import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import java.util.ListIterator;
import java.util.function.Consumer;

public class Example04 {
    public static void main(String[] args) {
        List<Integer> list = new ArrayList<>();
        list.add(1);
        list.add(2);
        list.add(3);


        //删除元素
        list.remove(1);
        //如果在调用方法的时候,方法出现了重载现象,会优先调用,形参和实参类型一样的方法;
        //删除元素1解决办法
        //手动装箱,把基本数据类型1转换成Integer类型;
        Integer i = Integer.valueOf(1);
        list.remove(i);
        //返回指定索引处的元素
        Integer integer = list.get(0);
        System.out.println(integer);

    }


}
class Example05{
    public static void main(String[] args) {
        List<String> list = new ArrayList<>();
        list.add("aaa");
        list.add("bbb");
        list.add("ccc");
        //迭代器
        /*Iterator iterator = list.iterator();
        while (iterator.hasNext()) {
            Object next = iterator.next();
            System.out.println(next);
        }

         */
        //增强for遍历
        /*for(String s:list) {
            System.out.println(s);
        }

         */
        //lambda遍历
        //list.forEach(s -> System.out.println(s));
        //匿名内部类的形式
        //forEach方法的底层其实就是一个循环遍历,依次可以得到集合的每一个元素
        //并把每一个元素传递给羡慕的accept方法
        //accept方法的形参s,依次表示集合中的每一个元素

        list.forEach(new Consumer<String>() {
            @Override
            public void accept(String s) {
                System.out.println(s);
            }
        });

        //普通for循环--利用索引获取集合中的每一个元素
        for(int i = 0;i < list.size();i++) {
            String s = list.get(i);
            System.out.println(s);
        }

        //列表迭代器
        //获取一个列表的迭代器的对象,里面的指针也是默认指向0索引的;

        //相比于迭代器,额外增加了一个方法,在遍历过程中,可以添加元素;
        ListIterator<String> listIterator = list.listIterator();
        while (listIterator.hasNext()) {
            String str = listIterator.next();
            if("bbb".equals(str)) {
                listIterator.add("qqq");
            }
        }
        System.out.println(list);
    }
}
/*
*五种遍历方式对比:
* 1.迭代器遍历 ---->     在遍历过程中需要删除元素,请使用迭代器;
* 2.列表迭代器 ---->     在遍历过程中需要添加元素,请使用列表迭代器;
* 3.增强for遍历 ---->       仅仅想遍历,那么使用for或者lambda表达式;
* 4.lambda表达式
* 5.普通for ---->        如果遍历的时候算操作索引,可以用普通for;
 */

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值