Java之Iterator接口

    xiaoxiao2022-07-07  219

    Java之Iterator接口

    开发工具与关键技术:MyEclipse 10,java 作者:刘东标 撰写时间:2019-05-22 一、Iterator 接口 Iterator 主要遍历Collection 集合中的元素,也有称为迭代器或迭代精灵。 boolean hasNext():若被迭代的集合元素还没有被遍历,返回 true. Object next():返回集合的下一个元素. void remove():删除集合上一次 next()方法返回的元素。 (若集合中有多个相同的元素,都可以 删掉) iterator 对于集合才能用,for 不同,只要是循环都可用。 迭代是取出集合中元素的一种方式。 因为Collection 中有 iterator 方法,所以每一个子类集合对象都具备迭代器。 迭代器在Collcection 接口中是通用的,它替代了 Vector 类中的 Enumeration(枚举)。 迭代器 的next 方法是自动向下取元素,要避免出现 NoSuchElementException。 迭代器的next方法返回值类型是Object,所以要记得类型转换。 (学到泛型就可以消除强转!) Eg:Iterator iter=l.iterator(); while(iter.hasNext()){ System.out.println(iter.next()); } 二、集合遍历输出方式 Iterator:迭代输出 一旦操作集合的遍历输出,首选 Iterator 接口; ListIterator:Iterator 子接口,专门输出 List 中的元素; Enumeration:古老的输出方式,迭代 Vector 元素,被 Iterator 取代; foreach:可输出数组和Iterable 对象; 总结: 集合遍历输出方式:

    Iterable 接口(迭代遍历) 注:优先选择 Iterator 接口,遍历 Collection 里所有元素, 也称为迭代器和迭代精灵;迭代是取出集合中元素的一种推荐方式。Foreach 循环 注:可以直接用,使用场合:数组和 Iterable 对象!For 循环 注:在()内实例化 Iterable 对象,进行遍历!先用 toArray 方法输出成为数组,再用 Foreach 循环! 第一个和第三个很类似,第二个和第四个很类似! Eg: package july7; //遍历输出的四种方式 import java.util.ArrayList; import java.util.Iterator; import java.util.List;

    public class Demo11 { public static void main(String[] args) { List l = new ArrayList(); l.add(“1”); l.add(“2”); l.add(“3”); l.add(“4”); System.out.println(l); /** * 遍历输出:四种方式 */ // 1、推荐使用的Iterator对象,迭代输出! Iterator it = l.iterator(); while (it.hasNext()) { System.out.println(“迭代输出:” + it.next()); } // 2、对集合进行fore循环! for (String str : l) { System.out.println(“fore集合迭代输出:” + str); } // 3、for循环迭代,在for方法体内部实例化Iterator对象! int i = 0;// for方法体内定义项不能出现多种不同类型 for (Iterator iter = l.iterator(); i < l.size(); i++) { System.out.println(“for循环迭代实例化输出:” + iter.next()); } // 4、先将集合转换为数组,再利用数组的遍历输出; Object[] o = l.toArray(); for (Object object : o) { System.out.println(“转换数组迭代输出:” + object); } }}

    最新回复(0)