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 aceite três argumentos:
- Um
HashSet<Object>(set) - Um
Object(input) para processar - Uma
String(operation) especificando a operação a ser realizada
Usando instruções if/else e os métodos do HashSet que você já aprendeu, o método deve retornar uma String baseada na operation:
"add": adicionainputao conjunto. Retorna"Added successfully"se for adicionado com sucesso, ou"Element already exists"se já estiver no conjunto."remove": removeinputdo conjunto. Retorna"Removed successfully"se for removido com sucesso, ou"Element not found"se não estiver no conjunto."find": retorna"Found at index: [index]"se o conjunto contiverinput(onde[index]é a posição do elemento na ordem de iteração), caso contrário"Element not found"."count": retorna"Number of integers: [count]", onde[count]é o número de inteiros no conjunto.
Valide as entradas primeiro:
- Se
setfornull: retorna"Invalid set". - Se
operationfornullou não for uma das quatro acima: retorna"Invalid operation". - Para a operação
"find", seinputfornull: retorna"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);
// Ler o conjunto inicial
String[] items = scanner.nextLine().split(",");
HashSet<Object> set = new HashSet<>();
if (!items[0].equals("empty")) {
for (String item : items) {
// Tentar analisar como inteiro primeiro
try {
set.add(Integer.parseInt(item));
} catch (NumberFormatException e) {
set.add(item);
}
}
}
// Ler a entrada
String inputStr = scanner.nextLine();
Object input;
try {
input = Integer.parseInt(inputStr);
} catch (NumberFormatException e) {
input = inputStr;
}
// Ler 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