歡迎您光臨本站 註冊首頁

一文讀懂Java Iterator(迭代器)

←手機掃碼閱讀     zmcjlove @ 2020-07-07 , reply:0

Java Iterator(迭代器)不是一個集合,它是一種用於訪問集合的方法,可用於迭代 ArrayList和HashSet等集合。

Iterator 是 Java 迭代器最簡單的實現,ListIterator 是 Collection API 中的接口, 它擴展了 Iterator 接口。

迭代器 it 的兩個基本操作是 next 、hasNext 和 remove。

調用 it.next() 會返回迭代器的下一個元素,並且更新迭代器的狀態。

調用 it.hasNext() 用於檢測集合中是否還有元素。

調用 it.remove() 將迭代器返回的元素刪除。

Iterator 類位於 java.util 包中,使用前需要引入它,語法格式如下:

  import java.util.Iterator; // 引入 Iterator 類

 

獲取一個迭代器

集合想獲取一個迭代器可以使用 iterator() 方法:

  // 引入 ArrayList 和 Iterator 類  import java.util.ArrayList;  import java.util.Iterator;    public class RunoobTest {   public static void main(String[] args) {     // 創建集合   ArrayList<String> sites = new ArrayList<String>();   sites.add("Google");   sites.add("Runoob");   sites.add("Taobao");   sites.add("Zhihu");     // 獲取迭代器   Iterator<String> it = sites.iterator();     // 輸出集合中的第一個元素   System.out.println(it.next());   }  }

 

執行以上代碼,輸出結果如下:

Google

循環集合元素

讓迭代器 it 逐個返回集合中所有元素最簡單的方法是使用 while 循環:

  while(it.hasNext()) {   System.out.println(it.next());  }

 

以下輸出集合 sites 中的所有元素:

  // 引入 ArrayList 和 Iterator 類  import java.util.ArrayList;  import java.util.Iterator;    public class RunoobTest {   public static void main(String[] args) {     // 創建集合   ArrayList<String> sites = new ArrayList<String>();   sites.add("Google");   sites.add("Runoob");   sites.add("Taobao");   sites.add("Zhihu");     // 獲取迭代器   Iterator<String> it = sites.iterator();     // 輸出集合中的所有元素   while(it.hasNext()) {    System.out.println(it.next());   }   }  }

 

執行以上代碼,輸出結果如下:

Google
 Runoob
 Taobao
 Zhihu

刪除元素

要刪除集合中的元素可以使用 remove() 方法。

以下實例我們刪除集合中小於 10 的元素:

  // 引入 ArrayList 和 Iterator 類  import java.util.ArrayList;  import java.util.Iterator;    public class RunoobTest {   public static void main(String[] args) {   ArrayList<Integer> numbers = new ArrayList<Integer>();   numbers.add(12);   numbers.add(8);   numbers.add(2);   numbers.add(23);   Iterator<Integer> it = numbers.iterator();   while(it.hasNext()) {    Integer i = it.next();    if(i < 10) {     it.remove(); // 刪除小於 10 的元素    }   }   System.out.println(numbers);   }  }

 

執行以上代碼,輸出結果如下:

[12, 23]


                                                     

   


[zmcjlove ] 一文讀懂Java Iterator(迭代器)已經有248次圍觀

http://coctec.com/docs/java/show-post-241602.html