集合框架
集合的接口和实现分离,一旦构建了集合就不需要知道具体实现,只有在构建集合对象时,使用具体的类才有意义(实现)
Collection接口
add(E element):向集合中添加元素,如果确实改变了集合返回true,集合没变化返回false
iterator():返回一个实现Iterator接口的对象,可以使用这个迭代器对象依次访问集合中的元素
迭代器
Iterator接口包含4个方法:E next(),boolean hasNext(),void remove(),default void forEachRemaining(Consumer<? super E> action)
通过反复调用next方法,可以逐个访问集合中的每个元素,但是如果到达了集合末尾就会抛出一个NoSuchElementException,所以调用next方法之前调用hasNext方法判断迭代器对象是否有下一个可供访问的元素
for each循环可以更加简练的实现同样的效果,编译器将for each循环翻译成带有迭代器的循环
for each循环可以与任何实现了Iterable接口的对象一起工作,这个接口只有一个方法iterator()