Menu
Coddy logo textTech

Mat. - Diferença de Conjuntos

Parte da seção Lógica e Fluxo do Journey de Java da Coddy — lição 31 de 59.

A diferença entre dois conjuntos resulta em um novo conjunto contendo elementos que estão no primeiro conjunto, mas não no segundo. Em Java, você pode alcançar isso usando o método 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);

Em seguida, crie um novo HashSet para a diferença - Comece com todos os elementos de set1:

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

Em seguida, remova todos os elementos que aparecem em <strong>set2</strong>:

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

Desafio

Fácil

Crie um método chamado <strong>setDifference</strong> que recebe dois HashSets de inteiros como entrada. O método deve calcular a diferença (elementos no primeiro conjunto que não estão no segundo) e imprimir o resultado no formato:

Difference: [elements]

Folha de consulta

A diferença entre dois conjuntos resulta em um novo conjunto contendo elementos que estão no primeiro conjunto, mas não no segundo. Use o método 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]

Experimente você mesmo

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) {
        // Escreva seu código aqui
    }

    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        // Lê a string JSON representando o primeiro conjunto (ex.: [1,2,3])
        String set1String = scanner.nextLine();
        // Lê a string JSON representando o segundo conjunto (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 iconTeste seus conhecimentos

Esta lição inclui um quiz rápido. Comece a lição para respondê-lo e acompanhar seu progresso.

Todas as lições de Lógica e Fluxo