الانتقال إلى المحتوى الرئيسي
الوحدة 6 · الدرس 1 من 211/14 في الدورة~15 min
دروس الوحدة (1/2)

تعيين والخريطة

بالإضافة إلى فئة ArrayList (التي تمثل قائمة مرتبة من العناصر)، يقدم Java Collections Framework واجهتين أساسيتين أخريين: Set (للعناصر الفريدة) و Map (لارتباطات القيمة الرئيسية).

المجموعة: مجموعات من العناصر الفريدة

Set عبارة عن مجموعة لا يمكن أن تحتوي على عناصر مكررة. التنفيذ الأكثر شيوعًا هو HashSet، والذي يعتمد داخليًا على جدول التجزئة، والذي يضمن أداءً ممتازًا لعمليات الإدراج والإزالة والتحقق من التواجد.

Java
import java.util.HashSet;
import java.util.Set;

Set<String> uniqueNames = new HashSet<>();
uniqueNames.add("Alice");
uniqueNames.add("Bob");
uniqueNames.add("Alice"); // This insertion will be ignored since "Alice" is already present

System.out.println(uniqueNames.size()); // Prints 2

الخريطة: جمعيات القيمة الأساسية

يقوم Map بتعيين مفاتيح فريدة إلى قيم. لا يمكن أن يحتوي على مفاتيح مكررة: يرتبط كل مفتاح بقيمة واحدة على الأكثر. التنفيذ القياسي هو HashMap.

Java
import java.util.HashMap;
import java.util.Map;

Map<String, Integer> ageMap = new HashMap<>();
// Insert or update key-value pairs
ageMap.put("Alice", 25);
ageMap.put("Bob", 30);

// Retrieve value by key
int aliceAge = ageMap.get("Alice"); // Returns 25

// Verify if a key or value exists
boolean hasBob = ageMap.containsKey("Bob"); // Returns true

التكرار على الخريطة

للتكرار على أزواج القيمة الرئيسية، يمكننا استخدام حلقة for-each على مجموعة الإدخالات (entrySet()) التي توفرها الخريطة.

Java
for (Map.Entry<String, Integer> entry : ageMap.entrySet()) {
    System.out.println(entry.getKey() + " is " + entry.getValue() + " years old.");
}

جربه بنفسك

تمرين#java.m6.l1.e1
المحاولات: 0جارٍ التحميل…

أكمل الكود عن طريق الإعلان عن HashSet من السلاسل المسماة العناصر. أضف العناصر "تفاحة" و"موز" و"تفاحة" مرة أخرى، ثم اطبع حجم المجموعة باستخدام System.out.println.

جارٍ تحميل المحرر…
إظهار التلميح

تذكر أنه لا يُسمح بالتكرارات في `Set`، وأن `items.size()` ستعيد العدد الفعلي للعناصر الفريدة المُدرجة.

الحل متاح بعد 3 من المحاولات

تمرين#java.m6.l1.e2
المحاولات: 0جارٍ التحميل…

أكمل الكود من خلال الإعلان عن HashMap المسمى الأعمار باستخدام مفاتيح السلسلة وقيم الأعداد الصحيحة. اربط المفتاح "أليس" بالرقم 25 والمفتاح "بوب" بالرقم 30، ثم استخرج عمر بوب واطبعه.

جارٍ تحميل المحرر…
إظهار التلميح

استخدم طريقة "put" لإدراج الأزواج وطريقة "get" لاسترداد القيم بناءً على المفاتيح.

الحل متاح بعد 3 من المحاولات

تمرين#java.m6.l1.e3
المحاولات: 0جارٍ التحميل…

أكمل الرمز عن طريق التحقق مما إذا كانت خريطة البلدان تحتوي على المفتاح "FR" وطباعة النتيجة المنطقية.

جارٍ تحميل المحرر…
إظهار التلميح

استخدم الأسلوب "containsKey" في كائن "countries" للتحقق من وجود المفتاح المطلوب.

الحل متاح بعد 3 من المحاولات