Menu
Coddy logo textTech

Resumen - HashSet

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

challenge icon

Desafío

Fácil

Crea un método llamado processHashSet que tome tres argumentos:

  1. Un HashSet<Object> (set)
  2. Un Object (input) para procesar
  3. 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ñade input al conjunto. Devuelve "Added successfully" si se añadió, o "Element already exists" si ya estaba en el conjunto.
  • "remove": elimina input del 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 contiene input (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 set es null: devuelve "Invalid set".
  • Si operation es null o no es una de las cuatro anteriores: devuelve "Invalid operation".
  • Para la operación "find", si input es null: 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