33Enumeration接口和Iterator接口的区别有哪些?

97 阅读1分钟

笔记

枚举速度快,空间小,不支持fail-fast,线程不安全,和iterator相比少了删除功能。

    public interface Enumeration<E> {

        boolean hasMoreElements();

        E nextElement();

    }

    public interface Iterator<E> {

        boolean hasNext();

        E next();

        void remove();

    }

原文

Enumeration速度是Iterator的2倍,同时占用更少的内存。但是,Iterator远远比Enumeration安全,因为其他线程不能够修改正在被iterator遍历的集合里面的对象。同时,Iterator允许调用者删除底层集合里面的元素,这对Enumeration来说是不可能的。

www.nowcoder.com/ta/review-j…