Creare HashSet non modificabili in Java

Mattepuffo's logo
Creare HashSet non modificabili in Java

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!


Condividi

Commentami!