Menu
Coddy logo textTech

Math - Différence d'ensembles

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

La différence entre deux ensembles aboutit à un nouvel ensemble contenant les éléments qui sont dans le premier ensemble mais pas dans le second. En Java, vous pouvez y parvenir en utilisant la méthode removeAll().

First, create two HashSets.
HashSet<Integer> set1 = new HashSet<>();
set1.add(1);
set1.add(2);
set1.add(3);
HashSet<Integer> set2 = new HashSet<>();
set2.add(2);
set2.add(3);
set2.add(4);

Ensuite, créez un nouveau HashSet pour la différence - Commencez avec tous les éléments de set1 :

HashSet<Integer> differenceSet = new HashSet<>(set1);

Ensuite, supprimez tous les éléments qui apparaissent dans <strong>set2</strong> :

differenceSet.removeAll(set2); // [1]
challenge icon

Défi

Facile

Créez une méthode nommée <strong>setDifference</strong> qui prend deux HashSets d'entiers en entrée. La méthode doit calculer la différence (éléments dans le premier ensemble qui ne sont pas dans le second) et imprimer le résultat au format :

Difference: [elements]

Aide-mémoire

La différence entre deux ensembles aboutit à un nouvel ensemble contenant les éléments qui sont dans le premier ensemble mais pas dans le second. Utilisez la méthode removeAll() :

HashSet<Integer> set1 = new HashSet<>();
set1.add(1);
set1.add(2);
set1.add(3);

HashSet<Integer> set2 = new HashSet<>();
set2.add(2);
set2.add(3);
set2.add(4);

// Create difference set starting with all elements from set1
HashSet<Integer> differenceSet = new HashSet<>(set1);

// Remove all elements that appear in set2
differenceSet.removeAll(set2); // [1]

Essayez vous-même

import java.util.HashSet;
import java.util.Scanner;
import com.google.gson.Gson;
import com.google.gson.reflect.TypeToken;
import java.lang.reflect.Type;

public class Main {
    public static void setDifference(HashSet<Integer> set1, HashSet<Integer> set2) {
        // Écrivez votre code ici
    }

    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        // Lire la chaîne JSON représentant le premier ensemble (par ex., [1,2,3])
        String set1String = scanner.nextLine();
        // Lire la chaîne JSON représentant le second ensemble (par ex., [2,3,4])
        String set2String = scanner.nextLine();

        Type setType = new TypeToken<HashSet<Integer>>(){}.getType();
        HashSet<Integer> set1 = new Gson().fromJson(set1String, setType);
        HashSet<Integer> set2 = new Gson().fromJson(set2String, setType);

        setDifference(set1, set2);
    }
}
quiz iconTestez-vous

Cette leçon comprend un petit quiz. Commencez la leçon pour y répondre et suivre votre progression.

Toutes les leçons de Logique & Flux