关于java:java学习笔记6Iterator-迭代器

46次阅读

共计 852 个字符,预计需要花费 3 分钟才能阅读完成。

Iterator 接口

java.util.Itertor 接口
迭代,是 Collection 汇合元素的通用获取形式
Iterator 也是有 泛型 的!!
先判断汇合中有没有元素,有就取出来,再持续判断,再持续取,直至全副取出。
boolean hasNext()
判断是否有元素

next()
有元素,则取出元素
remove()

获取实现类的形式:
Collection 接口中有个办法,iterator(),这个办法返回的就是迭代器的实现类对象。
Iterator 也是有 泛型 的!!迭代器的泛型跟着汇合走,汇合什么泛型,迭代器什么泛型

1. 应用汇合中的办法 iterator()获取迭代器的实现类对象,应用 Iterator 接口接管(多态);
2. 应用 Iterator 接口中的办法 hasNext 判断是否有下一个元素;
3. 应用 Iterator 接口中的办法 next 取出汇合中的下一个元素。

        Collection<String> coll = new ArrayList<>();

        coll.add("2");
        coll.add("da");
        coll.add("2ue");

        Iterator<String> it = coll.iterator();

        while (it.hasNext()) {String s = it.next();

            System.out.println(s);
        }

实现原理:
获取迭代器实现类对象,并把指针指向汇合的 - 1 索引

Iterator<String> it = coll.iterator();

next();
除了取出下一个元素,并且将指针向后挪动一位。

加强 for 循环

底层应用的也是迭代器,应用 for 循环的格局,简化了迭代器的书写
用来遍历汇合和数组
格局:
for(汇合 / 数组的数据类型 变量名: 汇合名 / 数组名) {

sout(变量名);

}

        ArrayList<String> s2 = new ArrayList<>();

        s2.add("dsd");
        s2.add("222");
        s2.add("34e");
        for (String s :s2) {System.out.println(s);
        }

正文完
 0