ArrayList的遍历方式

 遍历方式有:for循环,foreach,两种迭代器,转数组遍历,父类的toString方法

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

public class Test{
    public static void main(String[] args) {
        List students = new ArrayList<>();
        students.add(new Student("lisi1",12));
        students.add(new Student("lisi2",19));
        students.add(new Student("lisi3",15));
        students.add(new Student("lisi4",8));

        //遍历的方式

        //第一种  list特有的迭代器   
        ListIterator iterator = students.listIterator();
        System.out.println("ListIterator");
        while (iterator.hasNext()){
            Student previous = iterator.next();
            System.out.println(previous);
        }

        //第二种  Collection 的 iterator
        Iterator iterator1 = students.iterator();
        System.out.println("Iterator");
        while (iterator1.hasNext()) {
            System.out.println(iterator1.next());
        }

        //第三种
        System.out.println("for");
        for (Student student : students) {
            System.out.println(student);
        }

        //第四种 底层就是使用迭代器
        System.out.println(students);

        //第五种  转数组
        Object[] objects = students.toArray();
        System.out.println("toArray()");
        for (int i = 0; i < objects.length ; i++) {
            System.out.println(objects[i]);
        }


    }

}

ListIterator和Iterator的区别

ArrayList的遍历方式_第1张图片 

ListIterator是专门用于遍历list集合的迭代器,可以从任意方向遍历,并且可以返回遍历光标的所在位置。可以对集合进行增删改

ArrayList的遍历方式_第2张图片

 Iterator是所有集合的父类接口,提供遍历的方式。但是这个遍历器只能遍历一次

ArrayList的遍历方式_第3张图片

ArrayList的迭代器实现   为什么迭代器只能使用一次

ArrayList的遍历方式_第4张图片

 ArrayList的toString方法

ArrayList的遍历方式_第5张图片

 

ArrayList的遍历方式_第6张图片

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