V tomto příkladu se naučíme vypočítat rozdíl mezi dvěma sadami v Javě.
Abychom porozuměli tomuto příkladu, měli byste znát následující programovací témata Java:
- Rozhraní Java Set
- Třída Java HashSet
Příklad 1: Vypočítejte rozdíl mezi dvěma sadami
import java.util.HashSet; import java.util.Set; class Main ( public static void main(String() args) ( // create first set Set numbers = new HashSet(); numbers.add(1); numbers.add(2); numbers.add(3); numbers.add(4); System.out.println("Numbers: " + numbers); // create second set Set primeNumbers = new HashSet(); primeNumbers.add(2); primeNumbers.add(3); System.out.println("Prime Numbers: " + primeNumbers); // Difference between HashSet1 and HashSet2 numbers.removeAll(primeNumbers); System.out.println("Numbers without prime numbers: " + numbers); ) )
Výstup
Čísla: (1, 2, 3, 4) Prvočísla: (2, 3) Čísla bez prvočísel: (1, 4)
Ve výše uvedeném příkladu jsme vytvořili dvě sady pojmenované čísla a prvočísla. Sada jsme implementovali pomocí HashSet
třídy. Všimněte si řádku,
numbers.retainAll(primeNumbers);
Zde jsme použili removeAll()
metodu pro výpočet rozdílu mezi dvěma sadami.
Příklad 2: Získejte rozdíl mezi dvěma sadami pomocí knihovny Guava
import java.util.HashSet; import java.util.Set; import com.google.common.collect.Sets; class Main ( public static void main(String() args) ( // create the first set Set languages1 = new HashSet(); languages1.add("Java"); languages1.add("JavaScript"); languages1.add("English"); languages1.add("Spanish"); System.out.println("Languages: " + languages1); // create second set Set languages2 = new HashSet(); languages2.add("English"); languages2.add("Spanish"); System.out.println("Human Languages: " + languages2); Set intersect = Sets.difference(languages1, languages2); System.out.println("Programming Languages: " + intersect); ) )
Výstup
Jazyky: (Java, JavaScript, angličtina, španělština) Lidské jazyky: (angličtina, španělština) Programovací jazyky: (Java, JavaScript)
Ve výše uvedeném příkladu jsme použili knihovnu Guava k získání rozdílu mezi dvěma sadami. Chcete-li spustit tento program, musíte implementovat knihovnu Guava přidáním do vaší závislosti.
Zde jsme použili difference()
metodu třídy Sets přítomnou v knihovně Guava.