Java中的Iterator和Iterable是非常常用的兩個接口,它們有什么作用呢?首先,Iterable接口是一個最基本的能實現foreach形式遍歷的接口,它是一個集合類必須實現的接口。Iterator接口則是迭代器接口,提供了對集合的遍歷操作。
Iterable接口包含一個抽象方法iterator(),該方法返回一個Iterator實例,我們可以通過Iterator實例來對集合進行遍歷。
public interface Iterable{ Iterator iterator(); }
Iterator接口則包含了訪問集合元素的方法:hasNext()用于判斷是否有下一個元素,next()返回當前元素并將指針移到下一個元素。
public interface Iterator{ boolean hasNext(); E next(); }
以ArrayList為例,我們來演示Iterator的使用:
ArrayList<String> list = new ArrayList<>(); list.add("hello"); list.add("world"); list.add("java"); Iterator<String> it = list.iterator(); while(it.hasNext()){ System.out.println(it.next()); }
Iterable接口和Iterator接口是Java迭代器中非常常用的兩個接口,常常應用于遍歷集合元素。我們需要了解迭代器,才能更好地操作集合類。實現Iterable接口和Iterator接口可以讓我們的集合類支持foreach循環和迭代器遍歷,是集合類開發中必不可少的接口。