Iterator Jawa


Iterator Jawa

An Iteratoradalah objek yang dapat digunakan untuk mengulang koleksi, seperti ArrayList dan HashSet . Disebut "iterator" karena "iterasi" adalah istilah teknis untuk perulangan.

Untuk menggunakan Iterator, Anda harus mengimpornya dari java.utilpaket.


Mendapatkan Iterator

Metode iterator()ini dapat digunakan untuk mendapatkan an Iteratoruntuk koleksi apa pun:

Contoh

// Import the ArrayList class and the Iterator class
import java.util.ArrayList;
import java.util.Iterator;

public class Main {
  public static void main(String[] args) {

    // Make a collection
    ArrayList<String> cars = new ArrayList<String>();
    cars.add("Volvo");
    cars.add("BMW");
    cars.add("Ford");
    cars.add("Mazda");

    // Get the iterator
    Iterator<String> it = cars.iterator();

    // Print the first item
    System.out.println(it.next());
  }
}


Perulangan Melalui Koleksi

Untuk mengulang koleksi, gunakan metode hasNext()and next()dari Iterator:

Contoh

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


Menghapus Item dari Koleksi

Iterator dirancang untuk dengan mudah mengubah koleksi yang mereka lewati. Metode remove()ini dapat menghapus item dari koleksi saat mengulang.

Contoh

Gunakan iterator untuk menghapus angka kurang dari 10 dari koleksi:

import java.util.ArrayList;
import java.util.Iterator;

public class Main {
  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();
      }
    }
    System.out.println(numbers);
  }
}

Catatan: Mencoba menghapus item menggunakan for loop atau for-each loop tidak akan berfungsi dengan benar karena koleksi berubah ukuran pada saat yang sama ketika kode mencoba mengulang.