Menu
Coddy logo textTech

Sottoinsiemi e sovrainsiemi

Fa parte della sezione Logica e flusso del percorso Java di Coddy. Lezione 33 di 59.

Un sottoinsieme è un insieme in cui ogni elemento è contenuto anche in un altro insieme. Un soprainsieme è un insieme che contiene tutti gli elementi di un altro insieme.

Per prima cosa, crea due HashSet:

HashSet<String> setA = new HashSet<>();
setA.add("apple");
setA.add("banana");
HashSet<String> setB = new HashSet<>();
setB.add("apple");
setB.add("banana");
setB.add("cherry");

Usa il metodo containsAll():

boolean isSubset = setB.containsAll(setA);
System.out.println("setA is a subset of setB: " + isSubset);
// Output: setA is a subset of setB: true

Allo stesso modo, setB è un soprainsieme di setA perché contiene ogni elemento di setA.

challenge icon

Sfida

Facile

Crea un metodo denominato <strong>checkSubsetSuperset</strong> che accetta in input due HashSet di stringhe:

  • setA e setB

Il metodo deve:

  1. Verificare se setA è un sottoinsieme di setB usando containsAll() e stampare:

    setA is a subset of setB: <true/false>
  2. Verificare se setB è un sovrainsieme di setA (si tratta dello stesso controllo) e stampare:

    setB is a superset of setA: <true/false>

Provalo tu

import java.util.HashSet;
import java.util.Scanner;
import com.google.gson.Gson;
import com.google.gson.reflect.TypeToken;
import java.lang.reflect.Type;

public class Main {
    public static void checkSubsetSuperset(HashSet<String> setA, HashSet<String> setB) {
        // Scrivi il tuo codice qui
    }
    
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        // Leggi la stringa JSON per setA (ad es., ["apple","banana"])
        String setAString = scanner.nextLine();
        // Leggi la stringa JSON per setB (ad es., ["apple","banana","cherry"])
        String setBString = scanner.nextLine();
        
        Type setType = new TypeToken<HashSet<String>>(){}.getType();
        HashSet<String> setA = new Gson().fromJson(setAString, setType);
        HashSet<String> setB = new Gson().fromJson(setBString, setType);
        
        checkSubsetSuperset(setA, setB);
    }
}
quiz iconMettiti alla prova

Questa lezione include un breve quiz. Inizia la lezione per rispondere e tenere traccia dei tuoi progressi.

Tutte le lezioni di Logica e flusso

Esercitati da solo: Compilatore Java online