المجموعات الجزئية والشاملة
جزء من قسم المنطق وتدفق التنفيذ في رحلة Java على Coddy. الدرس 33 من 59.
المجموعة الجزئية هي مجموعة يكون كل عنصر فيها موجودًا أيضًا في مجموعة أخرى. والمجموعة الشاملة هي مجموعة تحتوي على جميع عناصر مجموعة أخرى.
أولًا، أنشئ مجموعتي HashSet:
HashSet<String> setA = new HashSet<>();
setA.add("apple");
setA.add("banana");
HashSet<String> setB = new HashSet<>();
setB.add("apple");
setB.add("banana");
setB.add("cherry");استخدم الطريقة containsAll():
boolean isSubset = setB.containsAll(setA);
System.out.println("setA is a subset of setB: " + isSubset);
// المخرجات: setA is a subset of setB: trueوبالمثل، فإن setB هي مجموعة شاملة لـ setA لأنها تحتوي على كل عنصر من عناصر setA.
التحدي
سهلأنشئ دالة باسم checkSubsetSuperset تأخذ مجموعتين من نوع HashSet من السلاسل النصية كمدخلات:
- setA وsetB
يجب أن تقوم الدالة بما يلي:
تحقّق مما إذا كانت setA مجموعة فرعية من setB باستخدام
containsAll()، واطبع:setA is a subset of setB: <true/false>تحقّق مما إذا كانت setB مجموعة فائقة لـsetA (وهذا هو التحقّق نفسه)، واطبع:
setB is a superset of setA: <true/false>
جرّب بنفسك
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 checkSubsetSuperset(HashSet<String> setA, HashSet<String> setB) {
// اكتب الكود الخاص بك هنا
}
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
// اقرأ سلسلة JSON النصية الخاصة بـ setA (مثلًا، ["apple","banana"])
String setAString = scanner.nextLine();
// اقرأ سلسلة JSON النصية الخاصة بـ setB (مثلًا، ["apple","banana","cherry"])
String setBString = scanner.nextLine();
Type setType = new TypeToken<HashSet<String>>(){}.getType();
HashSet<String> setA = new Gson().fromJson(setAString, setType);
HashSet<String> setB = new Gson().fromJson(setBString, setType);
checkSubsetSuperset(setA, setB);
}
}يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.
جميع دروس المنطق وتدفق التنفيذ
1المصفوفات متعددة الأبعاد
أساسيات المصفوفات ثنائية الأبعادالوصول إلى عناصر المصفوفات ثنائية الأبعادالحلقات المتداخلة مع المصفوفات ثنائية الأبعادمراجعة - المصفوفات ثنائية الأبعادجمع وطرح المصفوفاتالمصفوفات المتعرجة (Jagged Arrays)المصفوفات ثلاثية الأبعاد وما بعدهاأنماط المصفوفات ثنائية الأبعاد الشائعةمراجعة - كل شيء عن المصفوفات2HashMap الجزء الأول
ما هو الـ HashMap؟تعريف الـ HashMapالوصول إلى القيمالتحقق من وجود المفتاحتعديل القواميسملخص - HashMap5HashSet الجزء الثاني
رياضيات - اتحاد الـ HashSetsرياضيات - تقاطع الـ HashSetرياضيات - فرق المجموعاترياضيات - الفرق المتناظرالمجموعات الجزئية والشاملةالتكرار عبر المجموعات3HashMap الجزء الثاني
دوال HashMapالتكرار باستخدام keySet()التكرار باستخدام entrySet()HashMap متداخلمراجعة - إدارة المستودعمراجعة - عمليات HashMap6التحكم المتقدم في تدفق البرنامج
العبارات المعنونةتعبير Switchمطابقة الأنماطجمل الحمايةمراجعة - تدفق التحكمتدرّب بنفسك: مترجم Java عبر الإنترنت