迭代器

示例展示:

package iterator;

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

/**
 * 迭代器   Iterator
 * @author superdrew
 *         1.专门遍历集合而生,集合里面并没有提供相关遍历的方法
 *         2.提供方法  hasNext() 
 *                  next()
 *                  remove()
 *             使用Iterator进行迭代的时候不能 用list.remove() 会 ConcurrentModificationException
 *                                                       ConcurrentModificationException
 *             删除方法 是用 Iterator提供的remove方法
 *         3.for-each 与 Iterator的联系
 *             for-each遍历集合,底层调用的是 Iterator
 *             凡事能用for-each循环(遍历集合) 也能够使用Iterator
 *         4.for-each 与 Iterator的区别
 *             for-each还能够遍历数组
 *             Iterator只能遍历集合
 *         5.哪些集合能够使用 Iterator
 *         Collection    List  Set  可以
 *             Map        不可以
 *         实现Iterator的集合都可以用 迭代器
 *         6.Iterator是一个接口,具体实现类在哪?
 *             在相应集合的具体实现类中
 *             
 */
public class TestIterator {
    public static void main(String[] args) {
        List<Integer> list = new ArrayList<Integer>();
        list.add(100);
        list.add(89);
        list.add(92);
        list.add(97);
        
        //使用迭代器
        Iterator<Integer> it = list.iterator();
        while(it.hasNext()){
            int num = it.next();
            if(num<90){
                it.remove();
                System.out.print("移除的元素(即<90):" + num);
            }
        }
        System.out.println("\n剩下的元素有:");
        //使用for-each循环 删除元素?
        for (Integer integer : list) {
            System.out.print(integer + " ");
        }
    }
}

结果展示:

 

posted @ 2017-12-21 21:37  superdrew  阅读(161)  评论(0编辑  收藏  举报