Interface Collection
Caractéristiques : Représente un ensemble d'objets de types quelconques, non ordonné, sans index, sans doublons
Méthodes
boolean add(Object obj) // Ajoute un objet
boolean addAll(Collection c) // Ajoute tous les objets d'une autre collection
void clear() // Vide la collection
boolean contains(Object o) // Vérifie si l'objet est présent
boolean containsAll(Collection c) // Vérifie si tous les objets de c sont présents
boolean equals(Object o) // Compare cette collection avec un objet
boolean isEmpty() // Vérifie si la collection est vide
boolean remove(Object c) // Supprime un objet
boolean removeAll(Collection c) // Supprime tous les objets présents dans c
boolean retainAll(Collection c) // Garde uniquement les objets communs avec c
Iterator<E> iterator() // Retourne un itérateur pour les éléments
int size() // Retourne le nombre d'éléments
Object[] toArray() // Convertit la collection en tableau
Exemples
Exemple 1 : Collection de chaînes de caractères
package com.example;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Iterator;
/**
* Démonstration des opérations sur les collections
*
* @since 2023-01-15
*/
public class ExempleCollection {
public static void main(String[] args) {
Collection<String> collection = new ArrayList<>();
// Ajout d'éléments
collection.add("chat");
collection.add("chien");
collection.add("chat");
collection.add("chien");
System.out.println(collection);
// Suppression
collection.remove("chien");
System.out.println(collection);
System.out.println("====================================");
// Parcours avec boucle for-each
for (String element : collection) {
System.out.println(element);
}
System.out.println("====================================");
// Parcours avec itérateur
Iterator<String> iterateur = collection.iterator();
while (iterateur.hasNext()) {
System.out.println(iterateur.next());
// Suppression avec l'itérateur pendant le parcours
iterateur.remove();
}
System.out.println(collection);
// Vérification de présence
System.out.println(collection.contains("chien"));
System.out.println(collection.contains("poulet"));
}
}
Exemple 2 : Collection d'objets personnalisés
package com.example;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Iterator;
/**
* Manipulation de collections d'objets personnalisés
*
* @since 2023-01-15
*/
public class ExempleCollectionPersonnalisee {
public static void main(String[] args) {
Collection<Personne> collection = new ArrayList<>();
Personne p1 = new Personne("Martin", 25);
Personne p2 = new Personne("Sophie", 30);
Personne p3 = new Personne("Jean", 28);
collection.add(p1);
collection.add(p2);
collection.add(p3);
collection.add(p3);
System.out.println(collection.size());
System.out.println(collection);
// La suppression retire l'élément de la collection mais pas de la mémoire
collection.remove(p3);
System.out.println(collection.size());
System.out.println(collection);
// Parcours avec boucle for-each
for (Personne p : collection) {
System.out.println(p);
}
// Parcours avec itérateur
Iterator<Personne> it = collection.iterator();
while (it.hasNext()) {
Personne p = it.next();
System.out.println(p);
}
System.out.println(collection.contains(p2));
}
}
class Personne {
String nom;
Integer age;
public Personne() {
}
public Personne(String nom, Integer age) {
this.nom = nom;
this.age = age;
}
public String getNom() {
return nom;
}
public Integer getAge() {
return age;
}
public void setNom(String nom) {
this.nom = nom;
}
@Override
public String toString() {
return "Personne{" +
"nom='" + nom + '\'' +
", age=" + age +
'}';
}
}