دوال HashMap
جزء من قسم Logic & Flow في رحلة Java على Coddy — الدرس 16 من 59.
توفر HashMap العديد من الطرق المفيدة للعمليات الشائعة. إليك بعضاً من أهمها:
isEmpty(): يتحقق مما إذا كانHashMapفارغاً. يعيدtrueإذا لم يكن يحتوي على أي تعيينات مفتاح-قيمة، وfalseبخلاف ذلك.
size(): يعيد عدد ارتباطات المفتاح والقيمة فيHashMap.
clear(): يزيل جميع التعيينات منHashMap. ستكون الخريطة فارغة بعد عودة هذا الاستدعاء.
على سبيل المثال، لنقم أولاً بإنشاء HashMap:
HashMap<String, Integer> scores = new HashMap<>();للتحقق مما إذا كان الـ HashMap فارغاً:
System.out.println(scores.isEmpty());
// المخرجات: trueإذا قمنا بإضافة عنصر:
scores.put("Coddy", 100);
System.out.println(scores.isEmpty());
// النتيجة: falseتُرجع الطريقة size() عدد أزواج المفتاح والقيمة في الـ HashMap.
System.out.println(scores.size());
// المخرجات: 1تزيل الدالة clear() كافة تعيينات المفتاح والقيمة من الـ HashMap.
scores.clear();
System.out.println(scores.isEmpty());
// المخرجات: trueالتحدي
سهلقم بإنشاء طريقة (method) تسمى <strong>testHashMapMethods</strong> تأخذ HashMap يسمى <strong>data</strong> كمدخل. يجب أن تقوم الطريقة بالعمليات التالية:
التحقق مما إذا كان الـ HashMap فارغاً وطباعة:
Is empty: trueأوIs empty: falseالحصول على عدد تعيينات المفتاح والقيمة (key-value mappings) وطباعة:
Size: X(حيث<i>X</i>هو حجم الـ HashMap).- إزالة جميع التعيينات من الـ HashMap باستخدام
<strong>clear()</strong>. التحقق مما إذا كان الـ HashMap فارغاً مرة أخرى بعد المسح وطباعة:
Is empty after clear: true
ورقة مرجعية
طرق HashMap المساعدة الشائعة:
isEmpty(): تعيدtrueإذا كان الـ HashMap لا يحتوي على أي تعيينات مفتاح-قيمةsize(): تعيد عدد تعيينات مفتاح-قيمة في الـ HashMapclear(): تزيل جميع التعيينات من الـ HashMap
HashMap<String, Integer> scores = new HashMap<>();
// التحقق مما إذا كان فارغاً
System.out.println(scores.isEmpty()); // true
// إضافة عنصر والتحقق مرة أخرى
scores.put("Coddy", 100);
System.out.println(scores.isEmpty()); // false
// الحصول على الحجم
System.out.println(scores.size()); // 1
// مسح جميع التعيينات
scores.clear();
System.out.println(scores.isEmpty()); // trueجرّب بنفسك
// --- وحدات لتحويل سلسلة نصية من hashmap إلى hashmap ---
import com.google.gson.Gson;
import com.google.gson.reflect.TypeToken;
import java.lang.reflect.Type;
// -----------------------------
import java.util.HashMap;
import java.util.Scanner;
public class Main {
public static void testHashMapMethods(HashMap<String, Integer> data) {
// اكتب الكود الخاص بك هنا
}
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
String hashMapString = scanner.nextLine();
// تحويل السلسلة النصية لـ HashMap إلى HashMap
Type mapType = new TypeToken<HashMap<String, Integer>>(){}.getType();
HashMap<String, Integer> data = new Gson().fromJson(hashMapString, mapType);
testHashMapMethods(data);
}
}يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.
جميع دروس Logic & Flow
1المصفوفات متعددة الأبعاد
أساسيات المصفوفات ثنائية الأبعادالوصول إلى عناصر المصفوفات ثنائية الأبعادالحلقات المتداخلة مع المصفوفات ثنائية الأبعادمراجعة - المصفوفات ثنائية الأبعادجمع وطرح المصفوفاتالمصفوفات المتعرجة (Jagged Arrays)المصفوفات ثلاثية الأبعاد وما بعدهاأنماط المصفوفات ثنائية الأبعاد الشائعةمراجعة - كل شيء عن المصفوفات2HashMap الجزء الأول
ما هو الـ HashMap؟تعريف الـ HashMapالوصول إلى القيمالتحقق من وجود المفتاحتعديل القواميسملخص - HashMap3HashMap الجزء الثاني
دوال HashMapالتكرار باستخدام keySet()التكرار باستخدام entrySet()HashMap متداخلمراجعة - إدارة المستودعمراجعة - عمليات HashMap6التحكم المتقدم في تدفق البرنامج
العبارات المعنونةتعبير Switchمطابقة الأنماطجمل الحمايةمراجعة - تدفق التحكم