Recherche…


Introduction

L'arrivée de Java 9 apporte de nombreuses nouvelles fonctionnalités à l'API Collections de Java, parmi lesquelles les méthodes de collecte. Ces méthodes permettent une initialisation facile des collections immuables , qu'elles soient vides ou non.

Notez que ces méthodes d'usine ne sont disponibles que pour les interfaces suivantes: List<E> , Set<E> et Map<K, V>

Syntaxe

  • static <E> List<E> of​()
  • static <E> List<E> of​(E e1)
  • static <E> List<E> of​(E e1, E e2)
  • static <E> List<E> of​(E e1, E e2, ..., E e9, E e10)
  • static <E> List<E> of​(E... elements)
  • static <E> Set<E> of​()
  • static <E> Set<E> of​(E e1)
  • static <E> Set<E> of​(E e1, E e2)
  • static <E> Set<E> of​(E e1, E e2, ..., E e9, E e10)
  • static <E> Set<E> of​(E... elements)
  • static <K,V> Map<K,V> of()
  • static <K,V> Map<K,V> of(K k1, V v1)
  • static <K,V> Map<K,V> of(K k1, V v1, K k2, V v2)
  • static <K,V> Map<K,V> of(K k1, V v1, K k2, V v2, ..., K k9, V v9, K k10, V v10)
  • static <K,V> Map<K,V> ofEntries​(Map.Entry<? extends K,? extends V>... entries)

Paramètres

Méthode avec paramètre La description
List.of(E e) Un type générique pouvant être une classe ou une interface.
Set.of(E e) Un type générique pouvant être une classe ou une interface.
Map.of(K k, V v) Une paire clé-valeur de types génériques pouvant chacun être une classe ou une interface.
Map.of(Map.Entry<? extends K, ? extends V> entry) Une instance Map.Entry où sa clé peut être K ou l'un de ses enfants, et sa valeur peut être V ou l'un de ses enfants.

liste Exemples de méthode d'usine

  • List<Integer> immutableEmptyList = List.of();
    • Initialise une List<Integer> immuable vide List<Integer> .
  • List<Integer> immutableList = List.of(1, 2, 3, 4, 5);
    • Initialise une List<Integer> immuable List<Integer> avec cinq éléments initiaux.
  • List<Integer> mutableList = new ArrayList<>(immutableList);
    • Initialise une List<Integer> mutable List<Integer> partir d'une List<Integer> immuable List<Integer> .

Ensemble Exemples de méthode d'usine

  • Set<Integer> immutableEmptySet = Set.of();
    • Initialise un Set<Integer> immuable vide Set<Integer> .
  • Set<Integer> immutableSet = Set.of(1, 2, 3, 4, 5);
    • Initialise un Set<Integer> immuable Set<Integer> avec cinq éléments initiaux.
  • Set<Integer> mutableSet = new HashSet<>(immutableSet);
    • Initialise un Set<Integer> modifiable Set<Integer> partir d'un Set<Integer> immuable Set<Integer> .

Carte Exemples de méthode d'usine

  • Map<Integer, Integer> immutableEmptyMap = Map.of();
    • Initialise une Map<Integer, Integer> immuable vide Map<Integer, Integer> .
  • Map<Integer, Integer> immutableMap = Map.of(1, 2, 3, 4);
    • Initialise une Map<Integer, Integer> immuable Map<Integer, Integer> avec deux entrées de valeur-clé initiales.
  • Map<Integer, Integer> immutableMap = Map.ofEntries(Map.entry(1, 2), Map.entry(3, 4));
    • Initialise une Map<Integer, Integer> immuable Map<Integer, Integer> avec deux entrées de valeur-clé initiales.
  • Map<Integer, Integer> mutableMap = new HashMap<>(immutableMap);
    • Initialise une Map<Integer, Integer> mutable Map<Integer, Integer> partir d'une Map<Integer, Integer> immuable Map<Integer, Integer> .


Modified text is an extract of the original Stack Overflow Documentation
Sous licence CC BY-SA 3.0
Non affilié à Stack Overflow