●Iterator对象称为迭代器(设计模式的一种),主要用于遍历 Collection 集合中的元素。 ●Collection接口继承了java.lang.Iterable接口,该接口有一个iterator()方法那么所有实现了Collection接口的集合类都有一个iterator()方法,用以返回一个实现了Iterator接口的对象。 ●Iterator 仅用于遍历集合,Iterator 本身并不提供承装对象的能力。如果需要创建Iterator 对象,则必须有一个被迭代的集合。 ●集合对象每次调用iterator()方法都得到一个全新的迭代器对象,默认游标都在集合的第一个元素之前。
@Test public void test2(){ Collection coll = new ArrayList(); coll.add(123); coll.add(456); coll.add(new Person("Jerry",20)); coll.add(new String("Tom")); coll.add(false); while (coll.iterator().hasNext()){ System.out.println(coll.iterator().next()); } }●Java 5.0 提供了 foreach 循环迭代访问 Collection和数组。 ●遍历操作不需获取Collection或数组的长度,无需使用索引访问元素。 ●遍历集合的底层调用Iterator完成操作。 ●foreach还可以用来遍历数组。
@Test public void test1() { Collection coll = new ArrayList(); coll.add(123); coll.add(456); coll.add(new Person("Jerry", 20)); coll.add(new String("Tom")); coll.add(false); //for(集合元素的类型 局部变量 : 集合对象) //内部仍然调用了迭代器。 for (Object obj : coll) { System.out.println(obj); } }