Tra le novità introdotte da Java 9, esiste il metodo of() incluso nelle interfacce List, Set e Map per la creazione di strutture dati immutabili. Tale possibilità esisteva anche nelle edizioni precedenti del linguaggio ma non vi era alcuno strumento diretto allo scopo.
Si potevano usare alcuni metodi presenti nella classe Collections come:
- unmodifiableList(List<? extends T> list)
- unmodifiableMap(Map<? extends K,? extends V> m)
- unmodifiableSet(Set<? extends T> s)
in grado di produrre una versione immutabile della struttura dati partendo da una preesistente.
A partire da Java 9 si ha la possibilità di creare strutture dati immutabili composte da oggetti singoli forniti in input.
Così potremo ottenere una lista immutabile:
List<String> citta= List.of("Roma","Torino", "Milano", "Venezia", "Perugia", "Bologna");
mentre nel seguente modo potremo avere un Set non modificabile:
Set<String> nomi = Set.of("Elena", "Sveva", "Marco", "Alessia", "Simone");
Infine il metodo of() è presente in Map per avere mappe non modificabili:
Map<String, Integer> pagella=Map.of("Italiano",8,"Storia",6,"Geografia", 7, "Matematica",8);
In quest’ultimo esempio, si noti che gli oggetti elencati sono alternatamente una chiave ed il rispettivo valore.
Con strutture simili, si potrà svolgere qualsiasi operazione purché non si tenti di modificarne la composizione. Viceversa, sarà possibile modificare il contenuto dei singoli oggetti facendo loro accesso.
Seguiteci e vi faremo scoprire altre grandi novità di Java 9!
No Responses to “Java 9, metodi Factory per Collection e mappe”