رياضيات - فرق المجموعات
جزء من قسم 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]التحدي
سهلقم بإنشاء دالة باسم <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);
}
}يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.
جميع دروس Logic & Flow
1المصفوفات متعددة الأبعاد
أساسيات المصفوفات ثنائية الأبعادالوصول إلى عناصر المصفوفات ثنائية الأبعادالحلقات المتداخلة مع المصفوفات ثنائية الأبعادمراجعة - المصفوفات ثنائية الأبعادجمع وطرح المصفوفاتالمصفوفات المتعرجة (Jagged Arrays)المصفوفات ثلاثية الأبعاد وما بعدهاأنماط المصفوفات ثنائية الأبعاد الشائعةمراجعة - كل شيء عن المصفوفات2HashMap الجزء الأول
ما هو الـ HashMap؟تعريف الـ HashMapالوصول إلى القيمالتحقق من وجود المفتاحتعديل القواميسملخص - HashMap5HashSet الجزء الثاني
رياضيات - اتحاد الـ HashSetsرياضيات - تقاطع الـ HashSetرياضيات - فرق المجموعاترياضيات - الفرق المتناظرالمجموعات الجزئية والشاملةالتكرار عبر المجموعات3HashMap الجزء الثاني
دوال HashMapالتكرار باستخدام keySet()التكرار باستخدام entrySet()HashMap متداخلمراجعة - إدارة المستودعمراجعة - عمليات HashMap6التحكم المتقدم في تدفق البرنامج
العبارات المعنونةتعبير Switchمطابقة الأنماطجمل الحمايةمراجعة - تدفق التحكم