Java Iterator


Java Iterator

An Iteratoris 'n voorwerp wat gebruik kan word om deur versamelings te loop, soos ArrayList en HashSet . Dit word 'n "iterator" genoem omdat "iterating" die tegniese term vir lus is.

Om 'n Iterator te gebruik, moet jy dit vanaf die java.utilpakket invoer.


Kry 'n Iterator

Die iterator()metode kan gebruik word om 'n Iteratorvir enige versameling te kry:

Voorbeeld

// 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());
  }
}


Loop deur 'n versameling

Om deur 'n versameling te loop, gebruik die hasNext()en next()metodes van die Iterator:

Voorbeeld

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


Verwydering van items uit 'n versameling

Iterators is ontwerp om die versamelings wat hulle deurloop maklik te verander. Die remove()metode kan items uit 'n versameling verwyder terwyl jy lus maak.

Voorbeeld

Gebruik 'n iterator om getalle minder as 10 uit 'n versameling te verwyder:

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);
  }
}

Let wel: Om items te probeer verwyder deur 'n vir-lus of 'n vir-elke-lus te gebruik , sal nie korrek werk nie, want die versameling verander grootte op dieselfde tyd wat die kode probeer lus.