Matemáticas - Diferencia de Conjuntos
Parte de la sección Lógica y Flujo del Journey de Java de Coddy — lección 31 de 59.
La diferencia entre dos conjuntos resulta en un nuevo conjunto que contiene elementos que están en el primer conjunto pero no en el segundo. En Java, puedes lograr esto usando el método removeAll().
First, create two HashSets.
HashSet<Integer> set1 = new HashSet<>();
set1.add(1);
set1.add(2);
set1.add(3);
HashSet<Integer> set2 = new HashSet<>();
set2.add(2);
set2.add(3);
set2.add(4);A continuación, crea un nuevo HashSet para la diferencia - Comienza con todos los elementos de set1:
HashSet<Integer> differenceSet = new HashSet<>(set1);Luego, elimina todos los elementos que aparecen en <strong>set2</strong>:
differenceSet.removeAll(set2); // [1]Desafío
FácilCrea un método llamado <strong>setDifference</strong> que tome dos HashSets de enteros como entrada. El método debe calcular la diferencia (elementos en el primer conjunto que no están en el segundo) e imprimir el resultado en el formato:
Difference: [elements]Hoja de referencia
La diferencia entre dos conjuntos resulta en un nuevo conjunto que contiene elementos que están en el primer conjunto pero no en el segundo. Utilice el método removeAll():
HashSet<Integer> set1 = new HashSet<>();
set1.add(1);
set1.add(2);
set1.add(3);
HashSet<Integer> set2 = new HashSet<>();
set2.add(2);
set2.add(3);
set2.add(4);
// Create difference set starting with all elements from set1
HashSet<Integer> differenceSet = new HashSet<>(set1);
// Remove all elements that appear in set2
differenceSet.removeAll(set2); // [1]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 setDifference(HashSet<Integer> set1, HashSet<Integer> set2) {
// Escribe tu código aquí
}
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
// Leer cadena JSON que representa el primer conjunto (p. ej., [1,2,3])
String set1String = scanner.nextLine();
// Leer cadena JSON que representa el segundo conjunto (p. ej., [2,3,4])
String set2String = scanner.nextLine();
Type setType = new TypeToken<HashSet<Integer>>(){}.getType();
HashSet<Integer> set1 = new Gson().fromJson(set1String, setType);
HashSet<Integer> set2 = new Gson().fromJson(set2String, setType);
setDifference(set1, set2);
}
}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
1Arreglos Multidimensionales
Básicos de Arreglos 2DAccediendo a Elementos de Arreglos 2DBucles Anidados con Arreglos 2DResumen - Arreglos 2DSuma y Resta de MatricesArreglos IrregularesArreglos 3D y Más AlláPatrones Comunes de Arreglos 2DResumen - Todo Sobre Arreglos4HashSet Parte 1
¿Qué es un HashSet?Agregando un elementoEliminando un elementoComprobando si existe un elementoVacío y tamañoLimpiar y clonarResumen - HashSet7Manejo Básico de Errores
Básicos de Try-CatchBloque FinallyLanzamiento de ExcepcionesExcepciones Personalizadas2HashMap Parte 1
¿Qué es un HashMap?Declarar un HashMapAcceder a ValoresVerificar si una Clave ExisteModificar DiccionariosResumen - HashMap5HashSet Parte 2
Matemáticas - Unión de HashSetsMatemáticas - Intersección de HashSetMatemáticas - Diferencia de ConjuntosMatemáticas - Diferencia SimétricaSubconjuntos y SuperconjuntosIterando Sobre Conjuntos3HashMap Parte 2
Métodos de HashMapIterar con keySet()Iterar con entrySet()HashMap AnidadoResumen - Gestionar AlmacénResumen - Operaciones de HashMap6Flujo de Control Avanzado
Sentencias EtiquetadasExpresión SwitchCoincidencia de PatronesCláusulas de GuardiaResumen - Flujo de Control9Proyecto - Contador de Palabras Únicas
Entrada y Almacenamiento de TextoProcesamiento de Palabras