Resumen - HashSet
Parte de la sección Lógica y Flujo del Journey de Java de Coddy — lección 28 de 59.
Desafío
FácilCrea un método llamado processHashSet que tome tres argumentos:
- Un
HashSet<Object>(set) - Un
Object(input) para procesar - Un
String(operation) que especifique la operación a realizar
Utilizando sentencias if/else y los métodos de HashSet que ya has aprendido, el método debe devolver un String basado en operation:
"add": añadeinputal conjunto. Devuelve"Added successfully"si se añadió, o"Element already exists"si ya estaba en el conjunto."remove": eliminainputdel conjunto. Devuelve"Removed successfully"si se eliminó, o"Element not found"si no estaba en el conjunto."find": devuelve"Found at index: [index]"si el conjunto contieneinput(donde[index]es la posición del elemento en el orden de iteración), de lo contrario"Element not found"."count": devuelve"Number of integers: [count]", donde[count]es la cantidad de enteros en el conjunto.
Valida las entradas primero:
- Si
setesnull: devuelve"Invalid set". - Si
operationesnullo no es una de las cuatro anteriores: devuelve"Invalid operation". - Para la operación
"find", siinputesnull: devuelve"Cannot find null".
Pruébalo tú mismo
import java.util.HashSet;
import java.util.Scanner;
import java.util.Arrays;
public class Main {
public static String processHashSet(HashSet<Object> set, Object input, String operation) {
// Escribe tu código aquí
}
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
// Lee el conjunto inicial
String[] items = scanner.nextLine().split(",");
HashSet<Object> set = new HashSet<>();
if (!items[0].equals("empty")) {
for (String item : items) {
// Intenta parsear como entero primero
try {
set.add(Integer.parseInt(item));
} catch (NumberFormatException e) {
set.add(item);
}
}
}
// Lee la entrada
String inputStr = scanner.nextLine();
Object input;
try {
input = Integer.parseInt(inputStr);
} catch (NumberFormatException e) {
input = inputStr;
}
// Lee la operación
String operation = scanner.nextLine();
System.out.println(processHashSet(set, input, operation));
}
}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 - HashMap3HashMap 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