# 迭代器 Iterator

迭代器是一種設計模式,它是一個物件,它可以遍歷並選擇序列中的物件,
而開發人員不需要了解該序列的底層結構。
迭代器通常被稱為輕量級物件,因為建立它的代價小。

# 使用

Iterator 可以用來處理任何的 collection

public static void main(String[] args) {
    // 創建一個集合
    ArrayList <String> cars = new ArrayList<String>();
    cars.add("Volvo");
    cars.add("BMW");
    cars.add("Ford");
    cars.add("Mazda");
    // 創建一個 Iterator
    Iterator<String> it = cars.iterator();
    // 輸出該集合的第一個值
    System.out.println(it.next());
}
Volvo

# 歷遍

可以使用 it.hasNext()it.next() 等方法做集合的歷遍。
就直接使用上述的例子改寫:

// 使用 it.hasNext () 歷遍 cars
while(it.hasNext()) {
    System.out.println(it.next());
}
Volvo
BMW
Ford
Mazda

# 刪除 (特定) 元素

使用迭代器可以更輕鬆的更改歷遍的集合。
使用 it.remove() 方法就可以在循環時,刪除掉該元素。
觀看以下,就是刪除小於 10 的元素範例:

public static void main(String[] args) {
    // 創建 ArrayList
    ArrayList<Integer> numbers = new ArrayList<Integer>();
    numbers.add(12);
    numbers.add(8);
    numbers.add(2);
    numbers.add(23);
    System.out.println(numbers);
    // 創建 Iterator
    Iterator<Integer> it = numbers.iterator();
    while(it.hasNext()) {
        Integer i = it.next();
        if(i < 10) // 判斷 it 指定的那個數字
            it.remove(); // 移除該元素的存在
    }
    System.out.println(numbers);
}
[12, 8, 2, 23]
[12, 23]
更新於 閱讀次數

用實際行動犒賞爆肝的我😀

Zrn Ye LinePay

LinePay