Récapitulatif - HashSet
Fait partie de la section Logique & Flux du Journey Java de Coddy — leçon 28 sur 59.
Défi
FacileCréez une méthode nommée processHashSet qui prend trois arguments :
- Un HashSet d'objets (
set) - Un objet (
input) à traiter - Une chaîne de caractères (
operation) spécifiant l'opération à effectuer
La méthode doit effectuer différentes opérations en utilisant des concepts de contrôle de flux avancé (Advanced Control Flow) :
Opérations (en utilisant une expression Switch) :
- "add" : Ajoute l'entrée au set et retourne un message de succès/échec
- "remove" : Supprime l'entrée du set et retourne un message de succès/échec
- "find" : Recherche l'entrée dans le set en utilisant des instructions d'étiquetage (label statements)
- "count" : Compte les éléments de type Integer en utilisant
instanceof
Utilisez des clauses de garde (Guard Clauses) pour valider les entrées et gérer les erreurs :
- Si le set est null : retourne "Invalid set"
- Si l'opération est invalide : retourne "Invalid operation"
- Pour l'opération "find" si l'entrée est null : retourne "Cannot find null"
Essayez vous-même
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) {
// Écrivez votre code ici
}
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
// Lire l'ensemble initial
String[] items = scanner.nextLine().split(",");
HashSet<Object> set = new HashSet<>();
if (!items[0].equals("empty")) {
for (String item : items) {
// Essayer d'abord d'analyser comme un entier
try {
set.add(Integer.parseInt(item));
} catch (NumberFormatException e) {
set.add(item);
}
}
}
// Lire l'entrée
String inputStr = scanner.nextLine();
Object input;
try {
input = Integer.parseInt(inputStr);
} catch (NumberFormatException e) {
input = inputStr;
}
// Lire l'opération
String operation = scanner.nextLine();
System.out.println(processHashSet(set, input, operation));
}
}Toutes les leçons de Logique & Flux
1Tableaux multidimensionnels
Bases des tableaux 2DAccès aux éléments des tableaux 2DBoucles imbriquées avec les tableaux 2DRécapitulatif - Tableaux 2DAddition et soustraction de matricesTableaux irréguliersTableaux 3D et au-delàMotifs courants des tableaux 2DRécapitulatif - Tout sur les tableaux4HashSet Partie 1
Qu'est-ce qu'un HashSet ?Ajouter un ÉlémentSupprimer un ÉlémentVérifier si un Élément ExisteVide et TailleVider et ClonerRécapitulatif - HashSet7Gestion des erreurs de base
Bases du try-catchBloc finallyLever des exceptionsExceptions personnalisées2HashMap Partie 1
Qu'est-ce qu'une HashMap ?Déclarer une HashMapAccéder aux ValeursVérifier si une Clé ExisteModifier les DictionnairesRécapitulatif - HashMap3HashMap Partie 2
Méthodes HashMapItérer avec keySet()Itérer avec entrySet()HashMap imbriquéRécapitulatif - Gérer l'entrepôtRécapitulatif - Opérations HashMap6Flux de contrôle avancé
Instructions étiquetéesExpression switchAppariement de motifsClauses de gardeRécapitulatif - Flux de contrôle9Projet - Compteur de Mots Uniques
Entrée de Texte et StockageTraitement des Mots