Menu
Coddy logo textTech

Math - Intersection des HashSets

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

L'intersection de deux ensembles est un nouvel ensemble qui ne contient que les éléments présents dans les deux ensembles. En Java, vous pouvez calculer l'intersection en utilisant la méthode retainAll().

D'abord, créez deux nouveaux HashSets :

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

Ce nouvel ensemble commencera avec tous les éléments du premier ensemble.

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

Ensuite, conservez uniquement les éléments qui sont également dans le second ensemble :
Utilisez la méthode retainAll().

intersectionSet.retainAll(set2);
System.out.println("Intersection: " +
						intersectionSet);
// Output: [2]
challenge icon

Défi

Facile

Créez une méthode nommée <strong>intersectionSets</strong> qui prend deux HashSets d'entiers en entrée, calcule leur intersection, et l'imprime au format :

Intersection: [2]

Aide-mémoire

L'intersection de deux ensembles ne contient que les éléments présents dans les deux ensembles. Utilisez retainAll() pour calculer l'intersection :

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

// Create new set with elements from first set
HashSet<Integer> intersectionSet = new HashSet<>(set1);

// Retain only elements that are also in second set
intersectionSet.retainAll(set2);
System.out.println("Intersection: " + intersectionSet);
// Output: [2]

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 intersectionSets(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 pour le premier ensemble (par exemple, [1,2])
        String set1String = scanner.nextLine();
        // Lire la chaîne JSON pour le deuxième ensemble (par exemple, [2,3])
        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);
        
        intersectionSets(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