集合框架(集合的遍历之迭代器遍历)

2018-04-05  本文已影响0人  养码哥

核心代码:

    package cn.ithelei.com;

import java.util.ArrayList;
import java.util.Collection;
import java.util.Iterator;

/**
 * 
 * @Package cn.ithelei.com
 * @ClassName: IteratorDemo
 * @Description: TODO(Iterator<E> iterator())
 * @author Administrator
 * @date 2018-4-5 下午1:25:14
 * @version 1.0
 */

public class IteratorDemo {

/**
 * @Title: main
 * @Description: Iterator迭代器;集合的专用遍历方式
 * @param args
 *            void
 * @author Administrator
 * @date 2018-4-5 下午1:24:55
 */

// Object next():获取元素;并移动到下一个位置
// java.util.NoSuchElementException没有这样的元素异常;因为已经找到最后

// boolean hasNext()

public static void main(String[] args) {
    // TODO Auto-generated method stub

    // 创建集合对象
    Collection c = new ArrayList();
    // 创建并添加元素
    String string = "hello";
    c.add(string);
    c.add("world");
    c.add("www.ithelei.com");

    Iterator it = c.iterator();// c调用//如果一个 方法返回值是接口;实际返回肯定子类对象(多态)
    // Object object=it.next();
    // System.out.println(object);
    // System.out.println(it.next());
    // System.out.println(it.next());
    // System.out.println(it.next());
    // System.out.println(it.next());

    // 最后一个不应该写;所以了我们应该在每次获取前;判断;判断是否有下一个元素;有就获取;没有不管

    while (it.hasNext()) {
        String object = (String) it.next();
        System.out.println(object);

        }

  //for循环改写;效率高

   for(Iterator it = c.iterator();it.hasNext();){
      String object = (String) it.next();
        System.out.println(object);
    }


    }

}

总结:不要多次使用it.next方法;因为每次使用都是访问一个对象


上一篇 下一篇

猜你喜欢

热点阅读