Menu
Coddy logo textTech

Resumo - HashSet

Parte da seção Lógica e Fluxo do Journey de Java da Coddy. Lição 28 de 59.

challenge icon

Desafio

Fácil

Crie um método chamado processHashSet que receba três argumentos:

  1. Um HashSet<Object> (set)
  2. Um Object (input) a ser processado
  3. Uma String (operation) que especifica a operação a ser realizada

Usando instruções if/else e os métodos de HashSet que você já aprendeu, o método deverá retornar uma String com base em operation:

  • "add": adicione input ao conjunto. Retorne "Added successfully" se ele for adicionado ou "Element already exists" se já estiver no conjunto.
  • "remove": remova input do conjunto. Retorne "Removed successfully" se ele for removido ou "Element not found" se não estiver no conjunto.
  • "find": retorne "Found at index: [index]" se o conjunto contiver input (onde [index] é a posição do elemento na ordem de iteração); caso contrário, retorne "Element not found".
  • "count": retorne "Number of elements: [count]", onde [count] é o número de elementos no conjunto (use size()).

Valide as entradas primeiro:

  • Se set for null: retorne "Invalid set".
  • Se operation for null ou não for uma das quatro opções acima: retorne "Invalid operation".
  • Para a operação "find", se input for null: retorne "Cannot find null".

Experimente você mesmo

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) {
        // Escreva seu código aqui
    }
    
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        
        // Leia o conjunto inicial
        String[] items = scanner.nextLine().split(",");
        HashSet<Object> set = new HashSet<>();
        if (!items[0].equals("empty")) {
            for (String item : items) {
                // Tente analisar como inteiro primeiro
                try {
                    set.add(Integer.parseInt(item));
                } catch (NumberFormatException e) {
                    set.add(item);
                }
            }
        }
        
        // Leia a entrada
        String inputStr = scanner.nextLine();
        Object input;
        try {
            input = Integer.parseInt(inputStr);
        } catch (NumberFormatException e) {
            input = inputStr;
        }
        
        // Leia a operação
        String operation = scanner.nextLine();
        
        System.out.println(processHashSet(set, input, operation));
    }
}

Todas as lições de Lógica e Fluxo

Pratique por conta própria: Compilador de Java online