Java中集合篇之遍历集合的三种方式

Java中集合篇(四)

遍历集合的三种方式

方式一、迭代器访问

迭代器:

  • 遍历就是一个一个的把容器中的元素访问一遍
  • 迭代器在Java中的代表是Iterator,迭代器是集合的专用遍历方式

Collection集合获取迭代器

方法名称 说明
Iterator iterator() 返回集合中的迭代器对象,该迭代器对象默认指向当前集合的0索引

Iterator中的常用方法

方法名称 说明
boolean hasNext() 询问当前位置是否有元素存在,存在返回true,不存在返回false
E next() 获取当前位置的元素,并同时将迭代器对象移向下一个位置,注意防止取出越界
Collection<String> list = new ArrayList<>();
        list.add("张三");
        list.add("李四");
        list.add("王五");
        list.add("赵六");

        //定义一个迭代器对象 调用list的Iterator方法
        Iterator<String> iterator = list.iterator();

        //用while循环遍历
        while(iterator.hasNext()){
            System.out.println(iterator.next());
        }

方式二、增强for循环(foreach)

  • 增强for循环既可以遍历集合也可以遍历数组
  • JDK5之后出现,内部原理是一个iterator迭代器,遍历集合相当于是迭代器的简化
  • 实现Iterable接口的类才可以使用迭代器和增强for循环,Collection接口已经实现了Iterable接口

格式

for(元素数据类型 变量名 : 数组或者Collection集合){
  //此处使用变量,该变量就是元素
}
Collection<String> list = new ArrayList<>();
        list.add("张三");
        list.add("李四");
        list.add("王五");
        list.add("赵六");
		for (String s : list) {
            System.out.println(s);
        }
int[] arr = {12,13,14,15,16};
        for (int i : arr) {
            System.out.println(i);
        }

方式三、Lambda表达式遍历集合

Collection结合Lambda遍历的API

方法名称 说明
default void forEach(Consumer action) 结合Lambda遍历集合
//利用Lambda表达式
        list.forEach(new Consumer<String>() {
            @Override
            public void accept(String s) {
                System.out.println(s);
            }
        });

		//简化后
		list.forEach((s) -> System.out.println(s) );

三种遍历方式结果:
Java中集合篇之遍历集合的三种方式_第1张图片

你可能感兴趣的:(JavaSE,java,jvm,开发语言)