Sous-ensembles et super-ensembles
Fait partie de la section Logique & Flux du Journey Java de Coddy — leçon 33 sur 59.
Un sous-ensemble est un ensemble dans lequel chaque élément est également contenu dans un autre ensemble. Un super-ensemble est un ensemble qui contient tous les éléments d'un autre ensemble.
Tout d'abord, créez deux HashSets :
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");Utilisez la méthode containsAll() :
boolean isSubset = setB.containsAll(setA);
System.out.println("setA is a subset of setB: " + isSubset);
// Output: setA is a subset of setB: trueDe même, setB est un super-ensemble de setA car il contient tous les éléments de setA.
Défi
FacileCréez une méthode nommée <strong>checkSubsetSuperset</strong> qui prend deux HashSets de chaînes comme entrée :
- setA et setB
La méthode doit :
Vérifiez si setA est un sous-ensemble de setB en utilisant
containsAll(), et affichez :setA is a subset of setB: <true/false>Vérifiez si setB est un super-ensemble de setA (c'est la même vérification), et affichez :
setB is a superset of setA: <true/false>
Aide-mémoire
Un sous-ensemble est un ensemble dans lequel chaque élément est également contenu dans un autre ensemble. Un super-ensemble est un ensemble qui contient tous les éléments d'un autre ensemble.
Utilisez la méthode containsAll() pour vérifier si un ensemble est un sous-ensemble d'un autre :
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");
boolean isSubset = setB.containsAll(setA);
System.out.println("setA is a subset of setB: " + isSubset);
// Output: setA is a subset of setB: trueSi setA est un sous-ensemble de setB, alors setB est un super-ensemble de setA.
Essayez vous-même
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) {
// Écrivez votre code ici
}
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
// Lire la chaîne JSON pour setA (par ex., ["apple","banana"])
String setAString = scanner.nextLine();
// Lire la chaîne JSON pour setB (par ex., ["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);
}
}Cette leçon comprend un petit quiz. Commencez la leçon pour y répondre et suivre votre progression.
Toutes les leçons de Logique & Flux
1Tableaux multidimensionnels
Bases des tableaux 2DAccès aux éléments des tableaux 2DBoucles imbriquées avec les tableaux 2DRécapitulatif - Tableaux 2DAddition et soustraction de matricesTableaux irréguliersTableaux 3D et au-delàMotifs courants des tableaux 2DRécapitulatif - Tout sur les tableaux4HashSet Partie 1
Qu'est-ce qu'un HashSet ?Ajouter un ÉlémentSupprimer un ÉlémentVérifier si un Élément ExisteVide et TailleVider et ClonerRécapitulatif - HashSet7Gestion des erreurs de base
Bases du try-catchBloc finallyLever des exceptionsExceptions personnalisées2HashMap Partie 1
Qu'est-ce qu'une HashMap ?Déclarer une HashMapAccéder aux ValeursVérifier si une Clé ExisteModifier les DictionnairesRécapitulatif - HashMap5HashSet Partie 2
Math - Union des HashSetsMath - Intersection des HashSetsMath - Différence d'ensemblesMath - Différence symétriqueSous-ensembles et super-ensemblesItération sur les ensembles3HashMap Partie 2
Méthodes HashMapItérer avec keySet()Itérer avec entrySet()HashMap imbriquéRécapitulatif - Gérer l'entrepôtRécapitulatif - Opérations HashMap6Flux de contrôle avancé
Instructions étiquetéesExpression switchAppariement de motifsClauses de gardeRécapitulatif - Flux de contrôle9Projet - Compteur de Mots Uniques
Entrée de Texte et StockageTraitement des Mots