Menu
Coddy logo textTech
flag Ar iconالعربيةdown icon

رياضيات - فرق المجموعات

جزء من قسم Logic & Flow في رحلة 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);

ثم، قم بإزالة جميع العناصر التي تظهر في <strong>set2</strong>:

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

التحدي

سهل

قم بإنشاء دالة باسم <strong>setDifference</strong> تأخذ اثنين من HashSets من الأعداد الصحيحة كمدخلات. يجب أن تقوم الدالة بحساب الفرق (العناصر الموجودة في المجموعة الأولى والتي ليست في الثانية) وطباعة النتيجة بالتنسيق التالي:

Difference: [elements]

ورقة مرجعية

ينتج عن الفرق بين مجموعتين مجموعة جديدة تحتوي على العناصر الموجودة في المجموعة الأولى ولكنها ليست في الثانية. استخدم الطريقة 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);

// إنشاء مجموعة الفرق بدءاً بجميع العناصر من set1
HashSet<Integer> differenceSet = new HashSet<>(set1);

// إزالة جميع العناصر التي تظهر في set2
differenceSet.removeAll(set2); // [1]

جرّب بنفسك

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);
        // (مثل [1,2,3]) JSON قراءة سلسلة نصية بتنسيق تمثل المجموعة الأولى
        String set1String = scanner.nextLine();
        // (مثل [2,3,4]) JSON قراءة سلسلة نصية بتنسيق تمثل المجموعة الثانية
        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اختبر نفسك

يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.

جميع دروس Logic & Flow