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 receba três argumentos:
- Um
HashSet<Object>(set) - Um
Object(input) a ser processado - 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": adicioneinputao conjunto. Retorne"Added successfully"se ele for adicionado ou"Element already exists"se já estiver no conjunto."remove": removainputdo 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 contiverinput(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 (usesize()).
Valide as entradas primeiro:
- Se
setfornull: retorne"Invalid set". - Se
operationfornullou não for uma das quatro opções acima: retorne"Invalid operation". - Para a operação
"find", seinputfornull: 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
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 PalavrasPratique por conta própria: Compilador de Java online