Menu
Coddy logo textTech

Subconjuntos y Superconjuntos

Parte de la sección Lógica y Flujo del Journey de Java de Coddy — lección 33 de 59.

Un subconjunto es un conjunto en el que cada elemento también está contenido en otro conjunto. Un superconjunto es un conjunto que contiene todos los elementos de otro conjunto.

Primero, crea dos 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");

Utiliza el método containsAll():

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

De manera similar, setB es un superconjunto de setA porque contiene todos los elementos de setA.

challenge icon

Desafío

Fácil

Crea un método llamado <strong>checkSubsetSuperset</strong> que toma dos HashSets de cadenas como entrada:

  • setA y setB

El método debe:

  1. Verifica si setA es un subconjunto de setB usando containsAll(), e imprime:

    setA is a subset of setB: <true/false>
  2. Verifica si setB es un superconjunto de setA (esta es la misma verificación), e imprime:

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

Hoja de referencia

Un subconjunto es un conjunto en el que cada elemento también está contenido en otro conjunto. Un superconjunto es un conjunto que contiene todos los elementos de otro conjunto.

Utilice el método containsAll() para verificar si un conjunto es un subconjunto de otro:

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: true

Si setA es un subconjunto de setB, entonces setB es un superconjunto de setA.

Pruébalo tú mismo

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) {
        // Escribe tu código aquí
    }
    
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        // Leer cadena JSON para setA (p. ej., ["apple","banana"])
        String setAString = scanner.nextLine();
        // Leer cadena JSON para setB (p. ej., ["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 iconPonte a prueba

Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.

Todas las lecciones de Lógica y Flujo