Menu
CoddyTech

رياضيات - الفرق المتناظر

جزء من قسم المنطق وتدفق التنفيذ في رحلة Java على Coddy. الدرس 32 من 59.

الفرق المتناظر بين مجموعتين هو مجموعة جديدة تحتوي على العناصر الموجودة في إحدى المجموعتين، ولكن ليس في كلتيهما. في Java، يمكنك حسابه من خلال:

  1. إيجاد الفرق بين المجموعة الأولى والمجموعة الثانية.
  1. إيجاد الفرق بين المجموعة الثانية والأولى.
  1. دمج هذين الفرقين.

أولًا، أنشئ مجموعتي HashSet:

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<Integer> diff1 = new HashSet<>(set1);
diff1.removeAll(set2);  // diff1 يساوي [1]
HashSet<Integer> diff2 = new HashSet<>(set2);
diff2.removeAll(set1);  // diff2 يساوي [4]

بعد ذلك، ادمج الفرقين:

diff1.addAll(diff2);  // diff1 هي [1, 4]
challenge icon

التحدي

سهل

أنشئ طريقة باسم symmetricDifference تأخذ مجموعتي HashSet من الأعداد الصحيحة كمدخل، وتحسب الفرق المتماثل بينهما، وتطبعه بالتنسيق:

Symmetric 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 symmetricDifference(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);

        symmetricDifference(set1, set2);
    }
}
quiz iconاختبر نفسك

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

جميع دروس المنطق وتدفق التنفيذ

تدرّب بنفسك: مترجم Java عبر الإنترنت