在本教程中,我們將通過(guò)一個(gè)示例來(lái)學(xué)習(xí)Java Iterator接口。
Java集合框架的Iterator接口允許我們?cè)L問(wèn)集合的元素。它有一個(gè)子接口ListIterator。
所有Java集合都包含一個(gè)iterator()方法。此方法返回用于迭代集合元素的迭代器實(shí)例。
Iterator接口提供了4種方法,可用于對(duì)集合元素執(zhí)行各種操作。
hasNext() - 如果集合中存在元素,則返回true
next() - 返回集合的下一個(gè)元素
remove() -刪除next()返回的最后一個(gè)元素
forEachRemaining() - 對(duì)集合的每個(gè)剩余元素執(zhí)行指定的操作
在下面的示例中,我們?cè)跀?shù)組列表中實(shí)現(xiàn)了Iterator接口的hasNext(),next(),remove()和forEachRemining()方法。
import java.util.ArrayList; import java.util.Iterator; class Main { public static void main(String[] args) { //創(chuàng)建一個(gè)ArrayList ArrayList<Integer> numbers = new ArrayList<>(); numbers.add(1); numbers.add(3); numbers.add(2); System.out.println("ArrayList: " + numbers); //創(chuàng)建Iterator的實(shí)例 Iterator<Integer> iterate = numbers.iterator(); //使用next()方法 int number = iterate.next(); System.out.println("訪問(wèn)元素: " + number); //使用remove()方法 iterate.remove(); System.out.println("刪除元素: " + number); System.out.print("更新后的 ArrayList: "); //使用hasNext()方法 while(iterate.hasNext()) { //使用forEachRemaining()方法 iterate.forEachRemaining((value) -> System.out.print(value + ", ")); } } }
輸出結(jié)果
ArrayList: [1, 3, 2] 訪問(wèn)元素: 1 刪除元素: 1 更新后的 ArrayList: 3, 2,
在上面的示例中,請(qǐng)注意以下語(yǔ)句:
iterate.forEachRemaining((value) -> System.put.print(value + ", "));
在這里,我們將lambda表達(dá)式作為forEachRemaining()方法的參數(shù)傳遞。
現(xiàn)在,該方法將打印數(shù)組列表中的所有其余元素。