תת־קבוצות וקבוצות־על
חלק מהיחידה לוגיקה וזרימת תוכנית במסלול ה-Java של Coddy. שיעור 33 מתוך 59.
תת־קבוצה היא קבוצה שכל אחד מהאיברים שלה נמצא גם בקבוצה אחרת. קבוצה על היא קבוצה שמכילה את כל האיברים של קבוצה אחרת.
ראשית, צור שתי קבוצות גיבוב:
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");השתמשו בשיטה containsAll():
boolean isSubset = setB.containsAll(setA);
System.out.println("setA is a subset of setB: " + isSubset);
// פלט: setA is a subset of setB: trueבאופן דומה, setB היא קבוצת־על של setA כי היא מכילה כל איבר של setA.
אתגר
קלצרו מתודה בשם checkSubsetSuperset שמקבלת כקלט שתי קבוצות HashSet של מחרוזות:
- setA ו־setB
המתודה צריכה:
לבדוק אם setA היא תת־קבוצה של setB באמצעות
containsAll(), ולהדפיס:setA is a subset of setB: <true/false>לבדוק אם setB היא קבוצת־על של setA (זו אותה בדיקה), ולהדפיס:
setB is a superset of setA: <true/false>
נסו בעצמכם
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) {
// כתבו כאן את הקוד שלכם
}
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
// קראו מחרוזת JSON עבור setA (למשל, ["apple","banana"])
String setAString = scanner.nextLine();
// קראו מחרוזת JSON עבור setB (למשל, ["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);
}
}השיעור הזה כולל חידון קצר. התחילו את השיעור כדי לענות עליו ולעקוב אחרי ההתקדמות.
כל השיעורים ביחידה לוגיקה וזרימת תוכנית
1מערכים רב־ממדיים
יסודות מערכים דו־ממדייםגישה לאיברים במערך דו־ממדילולאות מקוננות עם מערכים דו־ממדייםסיכום — מערכים דו־ממדייםחיבור וחיסור מטריצותמערכים מדורגיםמערכים תלת־ממדיים ומעבר להםתבניות נפוצות במערכים דו־ממדייםסיכום — כל מה שצריך לדעת על מערכים5HashSet חלק 2
מתמטיקה - איחוד של HashSetsמתמטיקה - חיתוך של HashSetמתמטיקה - הפרש קבוצותמתמטיקה - הפרש סימטריתת־קבוצות וקבוצות־עלמעבר על קבוצותתרגלו בעצמכם: קומפיילר Java אונליין