Java Collections - Méthodes & Exemples
1. Collection<E> (Interface commune)
import [Link].*;
Collection<String> fruits = new ArrayList<>();
[Link]("Apple");
[Link]("Banana");
[Link]([Link]("Orange", "Pear"));
[Link]("Pear");
[Link]([Link]("Banana"));
[Link]([Link]::println);
[Link]();
// Description:
Méthodes principales :
- add(e) : ajoute un élément
- addAll(c) : ajoute tous les éléments d'une autre collection
- remove(e) : supprime un élément
- contains(e) : vérifie la présence d'un élément
- clear() : vide la collection
- forEach(consumer) : itère avec une lambda
Java Collections - Méthodes & Exemples
2. List<E> - ArrayList / LinkedList
import [Link].*;
List<String> list = new ArrayList<>();
[Link]("Alice");
[Link]("Bob");
[Link](1, "Charlie");
[Link](0, "Alex");
[Link]([Link](1));
[Link](2);
[Link]([Link]("Alex"));
List<String> sub = [Link](0, 1);
// Description:
Méthodes spécifiques :
- add(index, element), set(index, e), get(index), remove(index)
- indexOf(e), subList(start, end)
Java Collections - Méthodes & Exemples
3. Set<E> - HashSet / LinkedHashSet / TreeSet
import [Link].*;
Set<String> hashSet = new HashSet<>();
[Link]("A");
[Link]("B");
[Link]("A"); // ignoré
Set<String> linked = new LinkedHashSet<>(hashSet);
Set<String> sorted = new TreeSet<>(hashSet);
// Description:
Différences :
- HashSet : non ordonné, rapide
- LinkedHashSet : ordre d'insertion conservé
- TreeSet : tri naturel (Comparable)
- Pas de doublons
Java Collections - Méthodes & Exemples
4. Map<K, V> - HashMap / LinkedHashMap / TreeMap
import [Link].*;
Map<String, Integer> map = new HashMap<>();
[Link]("A", 1);
[Link]("B", 2);
[Link]("B");
[Link]([Link]("A"));
[Link]([Link]("A"));
[Link]([Link]());
[Link]([Link]());
[Link]([Link]());
[Link]([Link]("Z", 0));
// Description:
Méthodes courantes :
- put(k,v), get(k), remove(k)
- containsKey(k), containsValue(v)
- keySet(), values(), entrySet()
- getOrDefault(k, defaultV)
Java Collections - Méthodes & Exemples
5. Queue<E> & Deque<E> - PriorityQueue / ArrayDeque
import [Link].*;
Queue<Integer> queue = new PriorityQueue<>();
[Link](3);
[Link](1);
[Link](2);
[Link]([Link]());
[Link]([Link]());
Deque<String> deque = new ArrayDeque<>();
[Link]("front");
[Link]("back");
[Link]([Link]());
// Description:
PriorityQueue : file avec tri (min-heap)
ArrayDeque : pile ou file double extrémité
Méthodes :
- offer(), poll(), peek() pour Queue
- addFirst(), addLast(), pollFirst(), pollLast() pour Deque
Java Collections - Méthodes & Exemples
6. Stack<E>
import [Link].*;
Stack<String> stack = new Stack<>();
[Link]("one");
[Link]("two");
[Link]([Link]());
[Link]([Link]());
[Link]([Link]());
// Description:
Méthodes :
- push(e) : empile
- pop() : dépile (LIFO)
- peek() : dernier élément
- empty() : pile vide ?
Java Collections - Méthodes & Exemples
7. Collections & Arrays utils
import [Link].*;
List<Integer> list = new ArrayList<>([Link](3, 1, 2));
[Link](list);
[Link](list);
[Link](list);
[Link]([Link](list, 1));
int[] arr = {3, 1, 2};
[Link](arr);
// Description:
Collections : sort, reverse, shuffle, frequency
Arrays : sort(), toString()
Java Collections - Méthodes & Exemples
8. Iterator<E>
import [Link].*;
List<String> data = [Link]("A", "B", "C");
Iterator<String> it = [Link]();
while ([Link]()) {
[Link]([Link]());
}
// Description:
Iterator :
- hasNext(), next() pour parcourir
- remove() pour supprimer pendant itération