Podzbiory i nadzbiory
Część sekcji Logika i przepływ sterowania ścieżki Java w Coddy. Lekcja 33 z 59.
Podzbiór to zbiór, którego każdy element należy również do innego zbioru. Nadzbiór to zbiór zawierający wszystkie elementy innego zbioru.
Najpierw utwórz dwa zbiory HashSet:
HashSet<String> setA = new HashSet<>();
setA.add("apple");
setA.add("banana");
HashSet<String> setB = new HashSet<>();
setB.add("apple");
setB.add("banana");
setB.add("cherry");Użyj metody containsAll():
boolean isSubset = setB.containsAll(setA);
System.out.println("setA is a subset of setB: " + isSubset);
// Wynik: setA is a subset of setB: truePodobnie setB jest nadzbiorem setA, ponieważ zawiera każdy element setA.
Wyzwanie
ŁatwyUtwórz metodę o nazwie <strong>checkSubsetSuperset</strong>, która przyjmuje jako dane wejściowe dwa zbiory HashSet ciągów znaków:
- setA i setB
Metoda powinna:
Sprawdzić, czy setA jest podzbiorem setB, używając
containsAll(), i wypisać:setA is a subset of setB: <true/false>Sprawdzić, czy setB jest nadzbiorem setA (to to samo sprawdzenie), i wypisać:
setB is a superset of setA: <true/false>
Spróbuj swoich sił
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 checkSubsetSuperset(HashSet<String> setA, HashSet<String> setB) {
// Wpisz tutaj swój kod
}
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
// Wczytaj ciąg JSON dla setA (np. ["apple","banana"])
String setAString = scanner.nextLine();
// Wczytaj ciąg JSON dla setB (np. ["apple","banana","cherry"])
String setBString = scanner.nextLine();
Type setType = new TypeToken<HashSet<String>>(){}.getType();
HashSet<String> setA = new Gson().fromJson(setAString, setType);
HashSet<String> setB = new Gson().fromJson(setBString, setType);
checkSubsetSuperset(setA, setB);
}
}Ta lekcja zawiera krótki quiz. Zacznij lekcję, żeby na niego odpowiedzieć i śledzić swoje postępy.
Wszystkie lekcje w sekcji Logika i przepływ sterowania
1Tablice wielowymiarowe
Podstawy tablic 2DDostęp do elementów tablic 2DPętle zagnieżdżone z tablicami 2DPodsumowanie — tablice 2DDodawanie i odejmowanie macierzyTablice postrzępioneTablice 3D i większeTypowe wzorce dla tablic 2DPodsumowanie — wszystko o tablicach2HashMap część 1
Czym jest HashMap?Deklarowanie HashMapDostęp do wartościSprawdzanie, czy klucz istniejeModyfikowanie słownikówPodsumowanie — HashMap3HashMap — część 2
Metody HashMapIterowanie za pomocą keySet()Iterowanie za pomocą entrySet()Zagnieżdżona HashMapPowtórka — zarządzanie magazynemPowtórka — operacje na HashMap6Zaawansowany przepływ sterowania
Instrukcje etykietująceWyrażenie switchDopasowywanie wzorcówKlauzule ochronnePowtórzenie — przepływ sterowania9Projekt — licznik unikalnych słów
Wprowadzanie i przechowywanie tekstuPrzetwarzanie słówPoćwicz samodzielnie: Kompilator Java online