Creare HashSet non modificabili in Java
Gli HashSet in Java sono delle collezioni con dati univoci.
E' possibile aggiungere o rimuovere elementi, ma non accetta elementi duplicati.
Partendo da un HashSet è possibile crearne uno non modificabile, nel senso che non è possibile aggiungere o rimuovere elementi.
Qui sotto un esempio:
import java.util.Collections;
import java.util.HashSet;
import java.util.Set;
public class Main {
public static void main(String[] args) {
Set<String> set = new HashSet<>();
set.add("UNO");
set.add("DUE");
System.out.println(set);
set.add("TRE");
System.out.println(set);
Set<String> unmodSet = Collections.unmodifiableSet(set);
System.out.println(unmodSet);
unmodSet.add("QUATTRO");
System.out.println(unmodSet);
}
}
In console avremmo questo:
[DUE, UNO]
[DUE, TRE, UNO]
[DUE, TRE, UNO]
Exception in thread "main" java.lang.UnsupportedOperationException
at java.base/java.util.Collections$UnmodifiableCollection.add(Collections.java:1067)
at org.example.Main.main(Main.java:19)
Enjoy!
java hashset unmodifiableset
Commentami!