Quatre grandes familles de collections, chacune définie par une interface de base :

  • List : collection d’éléments ordonnés qui accepte les doublons
  • Set : collection d’éléments non ordonnés par défaut qui n’accepte pas les doublons
  • Map : collection sous la forme d’une association de paires clé/valeur
  • Queue et Deque : collections qui stockent des éléments dans un certain ordre avant qu’ils ne soient extraits pour traitement

L’API Collections possède deux grandes familles chacune définies par une interface :

  • java.util.Collection : pour gérer un groupe d’objets
  • java.util.Map : pour gérer des éléments de type paires de clé/valeur

Les fonctionnalités des collections sont définies dans cinq interfaces de base : Collection, List, Set, Map, Queue.

Convert Array to ArrayList

1
2
3
4
5
6
// With string 
List<String> list = new ArrayList<>(Arrays.asList("a", "b"));

// With object
Element[] array = {new Element(1),new Element(2),new Element(3)};
ArrayList<Element> arrayList = new ArrayList<>(Arrays.asList(array));

Attention avec

1
List<Element> list = Arrays.asList(array);

the size of the list returned from asList() is fixed. the list returned is not java.util.ArrayList, but a private static class defined inside java.util.Arrays. We know ArrayList is essentially implemented as an array, and the list returned from asList() is a fixed-size list backed by the original array. In this way, if add or remove elements from the returned list, an UnsupportedOperationException will be thrown.

Autre solution

1
2
3
Element[] array = {new Element(1), new Element(2)};
List<Element> list = new ArrayList<>(array.length);
Collections.addAll(list, array);