Resumo - HashSet
Parte da seção Lógica e Fluxo do Journey de Java da Coddy — lição 28 de 59.
Desafio
FácilCrie um método chamado processHashSet que recebe três argumentos:
- Um HashSet de Objetos (
set) - Um Objeto (
input) para processar - Uma String (
operation) especificando a operação a ser realizada
O método deve realizar diferentes operações usando conceitos de Fluxo de Controle Avançado:
Operações (usando Switch Expression):
- "add": Adicione o input ao set e retorne uma mensagem de sucesso/falha
- "remove": Remova o input do set e retorne uma mensagem de sucesso/falha
- "find": Procure pelo input no set usando label statements
- "count": Conte elementos do tipo Integer usando
instanceof
Use Guard Clauses para validar as entradas e tratar erros:
- Se o set for null: retorne "Invalid set"
- Se a operação for inválida: retorne "Invalid operation"
- Para a operação "find" se o 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);
// Lê o conjunto inicial
String[] items = scanner.nextLine().split(",");
HashSet<Object> set = new HashSet<>();
if (!items[0].equals("empty")) {
for (String item : items) {
// Tenta analisar como inteiro primeiro
try {
set.add(Integer.parseInt(item));
} catch (NumberFormatException e) {
set.add(item);
}
}
}
// Lê a entrada
String inputStr = scanner.nextLine();
Object input;
try {
input = Integer.parseInt(inputStr);
} catch (NumberFormatException e) {
input = inputStr;
}
// Lê a operação
String operation = scanner.nextLine();
System.out.println(processHashSet(set, input, operation));
}
}Todas as lições de Lógica e Fluxo
1Arrays Multidimensionais
Básicos de Arrays 2DAcessando Elementos de Arrays 2DLoops Aninhados com Arrays 2DResumo - Arrays 2DAdição e Subtração de MatrizesArrays EscalonadosArrays 3D e AlémPadrões Comuns de Arrays 2DResumo - Tudo Sobre Arrays4HashSet Parte 1
O que é um HashSet?Adicionando um ElementoRemovendo um ElementoVerificando se um Elemento ExisteVazio e TamanhoLimpar e ClonarResumo - HashSet2HashMap Parte 1
O que é um HashMap?Declarar um HashMapAcessando ValoresVerificar se a Chave ExisteModificando DicionáriosResumo - HashMap3HashMap Parte 2
Métodos do HashMapIterar com keySet()Iterar com entrySet()HashMap AninhadoResumo - Gerenciar ArmazémResumo - Operações do HashMap6Fluxo de Controle Avançado
Declarações RotuladasExpressão SwitchCorrespondência de PadrõesCláusulas de GuardaResumo - Fluxo de Controle9Projeto - Contador de Palavras Únicas
Entrada e Armazenamento de TextoProcessamento de Palavras