Menu
CoddyTech

رياضيات - تقاطع الـ HashSet

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

تقاطع مجموعتين هو مجموعة جديدة تحتوي فقط على العناصر الموجودة في كلتا المجموعتين. في Java، يمكنك حساب التقاطع باستخدام الطريقة retainAll().

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

HashSet<Integer> set1 = new HashSet<>();
set1.add(1);
set1.add(2);
HashSet<Integer> set2 = new HashSet<>();
set2.add(2);
set2.add(3);

ستبدأ هذه المجموعة الجديدة بجميع العناصر من المجموعة الأولى.

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

بعد ذلك، احتفِظ بالعناصر الموجودة أيضًا في المجموعة الثانية:
استخدم الطريقة retainAll().

intersectionSet.retainAll(set2);
System.out.println("Intersection: " +
						intersectionSet);
// الناتج: [2]
challenge icon

التحدي

سهل

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

Intersection: [2]

جرّب بنفسك

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 intersectionSets(HashSet<Integer> set1, HashSet<Integer> set2) {
        // اكتب الكود الخاص بك هنا
    }
    
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        // اقرأ سلسلة JSON للمجموعة الأولى (مثلًا، [1,2])
        String set1String = scanner.nextLine();
        // اقرأ سلسلة JSON للمجموعة الثانية (مثلًا، [2,3])
        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);
        
        intersectionSets(set1, set2);
    }
}
quiz iconاختبر نفسك

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

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

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