Maison >Java >javaDidacticiel >Comment initialiser une collection immuable en Java 9 ?
Java 9 fournit des méthodes d'usine pour créer des listes immuables, des ensembles et des cartes. Il peut être utilisé pour créer des objets de collection videsou non vides. Dans Java 8 et les versions précédentes, nous pouvons utiliser des méthodes utilitaires de classes de collection comme unmodifiableXXX pour créer des objets de collection immuables. Si nous devons créer une liste immuable, nous pouvons utiliser la méthode Collections.unmodifiableList(). Ces méthodes d'usine nous permettent d'initialiser facilement des
collectionsimmuables, qu'elles soient videsou non vides.
Initialisation d'une liste immuable :<strong>List<Integer> immutableEmptyList = List.of();</strong>
Dans le code ci-dessus, on initialise une
Liste vide.
Initialisation d'un ensemble immuable :<strong>Set<Integer> immutableEmptySet = Set.of();</strong>
Dans le code ci-dessus, nous initialisons un
Set vide.
Initialiser la carte immuable :<strong>Map<Integer, Integer> immutableEmptyMap = Map.of();</strong>
Dans ce qui précède, nous avons initialisé une
Mapvide et immuable.Exemple
import java.util.ArrayList; import java.util.Collections; import java.util.List; import java.util.Map; import java.util.Set; public class ImmutableCollectionTest { public static void main(String args[]) { List<String> list8 = new ArrayList<String>(); list8.add("INDIA"); list8.add("AUSTRALIA"); list8.add("ENGLAND"); list8.add("NEWZEALAND"); List<String> immutableList8 = Collections.<strong>unmodifiableList</strong>(list8); immutableList8.forEach(System.out::println); System.out.println(); List<String> immutableList = <strong>List.of</strong>("INDIA", "AUSTRALIA", "ENGLAND", "NEWZEALAND"); immutableList.forEach(System.out::println); System.out.println(); Set<String> immutableSet = <strong>Set.of</strong>("INDIA", "AUSTRALIA", "ENGLAND", "NEWZEALAND"); immutableSet.forEach(System.out::println); System.out.println(); Map<String, String> immutableMap = <strong>Map.of</strong>("INDIA", "India", "AUSTRALIA", "Australia", "ENGLAND", "England", "NEWZEALAND", "Newzealand"); immutableMap.forEach((key, value) -> System.out.println(key + " : " + value)); System.out.println(); } }
<strong>INDIA AUSTRALIA ENGLAND NEWZEALAND INDIA AUSTRALIA ENGLAND NEWZEALAND AUSTRALIA ENGLAND NEWZEALAND INDIA AUSTRALIA : Australia ENGLAND : England NEWZEALAND : Newzealand INDIA : India </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!