Menu
Coddy logo textTech

מתמטיקה - הפרש קבוצות

חלק מהיחידה לוגיקה וזרימת תוכנית במסלול ה-Java של Coddy. שיעור 31 מתוך 59.

ההפרש בין שתי קבוצות יוצר קבוצה חדשה המכילה את האיברים שנמצאים בקבוצה הראשונה אך לא בשנייה. ב-Java, אפשר להשיג זאת באמצעות המתודה 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);

לאחר מכן, יוצרים HashSet חדש עבור ההפרש — מתחילים עם כל האיברים מתוך set1:

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

לאחר מכן, הסירו את כל האיברים שמופיעים ב-set2:

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

אתגר

קל

צרו מתודה בשם setDifference שמקבלת כקלט שתי קבוצות HashSet של מספרים שלמים. המתודה צריכה לחשב את ההפרש (הפריטים שנמצאים בקבוצה הראשונה אך לא בשנייה) ולהדפיס את התוצאה בפורמט:

Difference: [elements]

נסו בעצמכם

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) {
        // כתבו כאן את הקוד שלכם
    }

    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        // קראו מחרוזת JSON המייצגת את הקבוצה הראשונה (למשל, [1,2,3])
        String set1String = scanner.nextLine();
        // קראו מחרוזת JSON המייצגת את הקבוצה השנייה (למשל, [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 iconבחנו את עצמכם

השיעור הזה כולל חידון קצר. התחילו את השיעור כדי לענות עליו ולעקוב אחרי ההתקדמות.

כל השיעורים ביחידה לוגיקה וזרימת תוכנית

תרגלו בעצמכם: קומפיילר Java אונליין