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: trueAllo stesso modo, setB è un soprainsieme di setA perché contiene ogni elemento di setA.
Sfida
FacileCrea un metodo denominato <strong>checkSubsetSuperset</strong> che accetta in input due HashSet di stringhe:
- setA e setB
Il metodo deve:
Verificare se setA è un sottoinsieme di setB usando
containsAll()e stampare:setA is a subset of setB: <true/false>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);
}
}Questa lezione include un breve quiz. Inizia la lezione per rispondere e tenere traccia dei tuoi progressi.
Tutte le lezioni di Logica e flusso
1Array multidimensionali
Concetti di base degli array 2DAccesso agli elementi degli array 2DCicli annidati con array 2DRiepilogo - Array 2DAddizione e sottrazione di matriciArray irregolariArray 3D e oltreSchemi comuni degli array 2DRiepilogo - Tutto sugli array4HashSet Parte 1
Che cos'è un HashSet?Aggiungere un elementoRimuovere un elementoVerificare se un elemento esisteVuoto e dimensioneSvuotare e clonareRipasso - HashSet7Gestione di base degli errori
Nozioni di base su try-catchBlocco finallyLancio di eccezioniEccezioni personalizzate2HashMap Parte 1
Che cos'è una HashMap?Dichiarare una HashMapAccedere ai valoriVerificare se una chiave esisteModificare i dizionariRiepilogo - HashMap5HashSet Parte 2
Matematica - Unione di HashSetMatematica - Intersezione di HashSetMatematica - Differenza tra insiemiMatematica - Differenza simmetricaSottoinsiemi e sovrainsiemiIterare sugli insiemi3HashMap Parte 2
Metodi di HashMapIterare con keySet()Iterare con entrySet()HashMap annidateRiepilogo - Gestire il magazzinoRiepilogo - Operazioni con HashMap6Flusso di controllo avanzato
Istruzioni con etichettaEspressione switchCorrispondenza dei patternClausole guardiaRiepilogo - Flusso di controllo9Progetto - Contatore di parole uniche
Inserimento e memorizzazione del testoElaborazione delle paroleEsercitati da solo: Compilatore Java online