Maison >Java >javaDidacticiel >Quels sont les avantages des collections immuables dans Java 9 ?

Quels sont les avantages des collections immuables dans Java 9 ?

PHPz
PHPzavant
2023-09-07 10:45:03920parcourir

Java 9中的不可变集合有哪些好处?

Dans Java 9, plusieurs méthodes d'usine ont été ajoutées aux Collections API. En utilisant ces méthodes d'usine, nous pouvons créer des objets de liste, de collection et de collection mappés immuables, réduisant ainsi le nombre de lignes de code. Dans Java 9, List.of(), Set.of(), Map.of() et Map.ofEntries() sont des méthodes d'usine statiques pratiques pour créer une immuable Collection.

Avantages des collections immuables

  • Moins d'espace sur le tas : Très moins d'espace est requis pour stocker les données de collection par rapport à l'approche traditionnelle des versions antérieures de Java.
  • Accès aux données plus rapide : L'accès aux données est désormais plus rapide en raison de la réduction des frais de stockage des données et de leur emballage sous la forme Collections.unmodifiable. Cela signifie que l'efficacité globale du programme augmente.
  • Thread-safe : Les collections immuables sont naturellement thread-safe. Parce que tous les threads ont toujours la même vue des données sous-jacentes. La traduction chinoise de

Grammar

<strong>List.of(elements...)
Set.of(elements...)
Map.of(k1, v1, k2, v2)
</strong>

Example

est :

Example

import java.util.Set;
import java.util.List;
import java.util.Map;
public class ImmutableCollectionsTest {
   public static void main(String args[]) {
      <strong>List<String></strong> stringList = <strong>List.of</strong>("a", "b", "c");
      System.out.println("List values: " + stringList);
      <strong>Set<String></strong> stringSet = <strong>Set.of</strong>("a", "b", "c");
      System.out.println("Set values: " + stringSet);
      <strong>Map<String, Integer></strong> stringMap = <strong>Map.of</strong>("a", 1, "b", 2, "c", 3);
      System.out.println("Map values: " + stringMap);
   }
}

Output

<strong>List values: [a, b, c]
Set values: [a, b, c]
Map values: {a=1, b=2, c=3}</strong>

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer