zoukankan      html  css  js  c++  java
  • java容器-Iterator

    1介绍

      java中的容器主要是Collection<E>的子类型,即都实现了Iterable<E>接口,即使是Map类型,也有entrySet方法可以获得该Map的所有元素组成的Set。在java中的iterator实现利用内部类的机制,可以十分方便的实现。借助内部类可以直接访问外部类的所有方法和字段,因此iterator()返回的Iterator<E>类型,是实现了公共Iterator<E>接口的类型,这样既可以封装容器的迭代器的具体实现,又能给外部提供统一的访问接口,既安全有便捷。

     实现了Iterable<E>的类型,均可以通过iterator()获得该容器上的迭代器Iterator<E>实例

    2.主要子接口

      ListIterator<E>

    3.主要方法

    1. hasNext() : boolean,判断该容器是否还有下一个元素
    2. next() : E,返回容器下一个元素
    3. default remove(): void, 移除当前迭代器指向的元素,即最后一次调用next()返回的元素,默认实现抛出UnSupportedOperationException;

    4.default 方法(自jdk1.8)

    1. default forEachRemaining(Consumer<? extends E> action) : void,对每一个容器中元素调用action.accept(element) 

    5.总结

       迭代器模式在java中的使用更加便捷和安全。通过Iterable接口,Collection类型可以用于foreach循环,也使得其他类型可以方便的访问该容器。而Iterator中iterator()方法,也恰恰返回了Iterator<E>,这样容器类就给外部提供了统一的访问接口。

  • 相关阅读:
    RQNOJ 34 紧急援救
    Codevs 2080 特殊的质数肋骨
    POJ2975 Nim
    Bzoj1016 最小生成树计数
    POJ3613 Cow Relays
    POJ1386 Play on Words
    [从hzwer神犇那翻到的模拟赛题] 合唱队形
    HDU2824 The Euler function
    HDU1576 A/B
    HDU2669 Romantic
  • 原文地址:https://www.cnblogs.com/zhedan/p/7627210.html
Copyright © 2011-2022 走看看