Menu
Coddy logo textTech

Récapitulatif - HashSet

Fait partie de la section Logique & Flux du Journey Java de Coddy — leçon 28 sur 59.

challenge icon

Défi

Facile

Créez une méthode nommée processHashSet qui prend trois arguments :

  1. Un HashSet<Object> (set)
  2. Un Object (input) à traiter
  3. Un String (operation) spécifiant l'opération à effectuer

En utilisant des instructions if/else et les méthodes HashSet que vous avez déjà apprises, la méthode doit retourner un String basé sur operation :

  • "add" : ajouter input au ensemble (set). Retournez "Added successfully" s'il a été ajouté, ou "Element already exists" s'il était déjà dans le ensemble.
  • "remove" : supprimer input du ensemble. Retournez "Removed successfully" s'il a été supprimé, ou "Element not found" s'il n'était pas dans le ensemble.
  • "find" : retourner "Found at index: [index]" si le ensemble contient input (où [index] est la position de l'élément dans l'ordre d'itération), sinon "Element not found".
  • "count" : retourner "Number of integers: [count]", où [count] est le nombre d'entiers dans le ensemble.

Validez d'abord les entrées :

  • Si set est null : retournez "Invalid set".
  • Si operation est null ou ne fait pas partie des quatre ci-dessus : retournez "Invalid operation".
  • Pour l'opération "find", si input est null : retournez "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 de parser en tant qu'entier d'abord
                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