java容器-Iterator

  • Post author:
  • Post category:java


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>,这样容器类就给外部提供了统一的访问接口。



版权声明:本文为zhedanxc原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。