1. Set : ensemble d’objets non indicé, sans doublon
  2. List : ensemble d’objet indicés, avec éventuellement des doublons
  3. Map : ensemble associatif d’objet, non indicé, chaque objet étant associé à une clé. Une clé est unique dans un Map. Mais plusieurs clés peuvent être associées à un même objet
  4. Queue : ensemble d’objet non indicé avec un schéma d’accès de type LIFO / FIFO
graph TD
  subgraph Set
  A((1))
  B((2))
  C((3))
  end

  subgraph List
  D[0] --> E[1]
  E --> F[2]
  F --> G[3]
  end

  subgraph Map
  H[Clé1] --> I((Valeur1))
  J[Clé2] --> K((Valeur2))
  L[Clé3] --> M((Valeur3))
  end

  subgraph Queue
  N[Entrée] --> O((1))
  O --> P((2))
  P --> Q((3))
  Q --> R[Sortie]
  end

En java, ces 4 classes sont des interfaces. En pratique on utilise sur HashSet, Arraylist, HashMap et ArrayDeque

ArrayList<MaClasse>
Set<Integer> set = new HashSet<Integer>()
Set<Integer> set = new HashSet<>()

image.png

Méthodes communes

int size(); // taille de collection
void clear(); // Vide la collection
boolean isEmpty(); // True si la collection est vide

HashSet:

Set<MaClasse> set = new HashSet<>();

Opération sur HashSet :

boolean add(E e)

Ajoute l’objet e de E. Si E n’est pas de la classe (ou sous classe) ⇒ erreur de compilation. Renvoie true si l’insertion à eu lieu.


boolean remove(Object o)

Enlève O s’il existe et renvoie true, sinon renvoie false. Pas d’erreur de compilation si o n’est pas de la bonne classe.