Interface Iterable | Java

L’interface Iterable (java.lang.Iterable) est l’une des interfaces racine de l’arborescence des collections. Une classe qui implémente l’interface Iterable peut être itérée avec la boucle Java for-each.
 
 

 

Implémentations de l’interface Iterable en Java

L’interface Collection hérite l’interface Iterable, donc tous les sous-types de Collection implémentent également l’interface Iterable.

Un objet d’une classe qui implémente l’interface Iterable peut être utilisé avec la boucle Java for-each. Étant donné que l’interface List hérite l’interface Collection et que l’interface Collection hérite l’interface Iterable, un objet List peut être utilisé avec la boucle for-each. Voici un exemple d’utilisation d’un objet List avec la boucle for-each:

List list = new ArrayList();

list.add("Java");
list.add("Pascal");
list.add("PHP");
list.add("C++");

for(Object obj : list){
    System.out.println(obj.toString());
}

 
Sortie:

Java
Pascal
PHP
C++

Le code ci-dessus crée une liste et y ajoute 4 éléments. Ensuite, il utilise une boucle for-each pour itérer les éléments de la liste et afficher la valeur à l’aide de la méthode toString() de chaque élément.
 
 
L’interface Java Iterable n’a qu’une seule méthode nommée iterator(). Cette méthode doit renvoyer un Iterator qui peut être utilisé pour itérer les éléments de l’objet implémentant l’interface Iterable.

Voici comment l’interface Iterable est définie:

public interface Iterable<T> {
  public Iterator<T> iterator();    
}

Voici un exemple d’implémentation:

public class Cars implements Iterable {
    private List<Car> cars = new ArrayList<Car>();    
    
    public Iterator<Car> iterator() {
        return this.cars.iterator();
    }
}

Un objet de la classe Cars peut être utilisée avec la boucle Java for-each comme ceci:

Cars cars;

for(Car car : cars) {
    // manipuler l'object car.
}
QCM-Java

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *