Fabrication industrielle
Internet des objets industriel | Matériaux industriels | Entretien et réparation d'équipement | Programmation industrielle |
home  MfgRobots >> Fabrication industrielle >  >> Industrial programming >> Java

Java 9 : Méthodes factory de collections — List, Set, Map immuables simplifiés

Java 9 ajoute des méthodes factory statiques aux interfaces List, Set, Map pour créer des instances immuables de façon concise.

Ancienne méthode (verbose)

Set<String> set = new HashSet<>();
set.add("A"); set.add("B"); set.add("C");
set = Collections.unmodifiableSet(set);

List<String> list = new ArrayList<>();
list.add("A"); list.add("B"); list.add("C");
list = Collections.unmodifiableList(list);

Map<String, String> map = new HashMap<>();
map.put("A","Apple"); map.put("B","Boy"); map.put("C","Cat");
map = Collections.unmodifiableMap(map);

Nouvelles méthodes (Java 9+)

static <E> List<E> of(E... elements)
static <E> Set<E> of(E... elements)
static <K,V> Map<K,V> of(K k1, V v1, K k2, V v2, ...)
static <K,V> Map<K,V> ofEntries(Map.Entry<? extends K,? extends V>... entries)

Surcharges

Nouvelle méthode concise

Set<String> set = Set.of("A", "B", "C");
List<String> list = List.of("A", "B", "C");
Map<String, String> map = Map.of("A","Apple", "B","Boy", "C","Cat");
Map<String, String> map1 = Map.ofEntries(
    new AbstractMap.SimpleEntry<>("A","Apple"),
    new AbstractMap.SimpleEntry<>("B","Boy"),
    new AbstractMap.SimpleEntry<>("C","Cat")
);

Sortie

[A, B, C]
[A, B, C]
{A=Apple, B=Boy, C=Cat}
{A=Apple, B=Boy, C=Cat}

Avantages : immuables par défaut, thread-safe, compacts en mémoire, lisibles, pas de Collections.unmodifiableXxx() nécessaire.

Attention : tentative de modification → UnsupportedOperationException.

Java

  1. Maîtriser les opérateurs Java : Types, syntaxe et exemples pratiques
  2. Classes et méthodes abstraites en Java : guide complet
  3. Maîtriser les interfaces Java : concepts, implémentation et bonnes pratiques
  4. Maîtriser le try-with-resources Java : gestion automatique des ressources expliquée
  5. Annotations Java expliquées : types, placement et exemples pratiques
  6. Maîtriser l'autoboxing et l'unboxing Java : Exemples pratiques et bonnes pratiques
  7. Java String toLowerCase() & toUpperCase() : Convertir la casse du texte avec prise en compte des locales
  8. Maîtriser les Collections Java : Guide complet des structures de données efficaces
  9. Java 10 : 70+ nouvelles API et fonctionnalités expliquées