English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
في هذا الدرس، سنتعلم واجهة Map في Java ومETHODS الخاصة بها.
واجهة Map في إطار Java Collections Framework توفر وظائف بنية البيانات Map.
انه يحقق واجهة Collection.
في Java، يتم تخزين عناصر Map في أزواج مفتاح/قيمة. المفتاح هو القيمة الفريدة المرتبطة بكل قيمة.
مجموعات Map لا يمكن أن تحتوي على مفاتيح مكررة. ويتم ربط كل مفتاح بقيمة واحدة.
يمكننا الوصول إلى وتعديل القيم باستخدام المفتاح المماثل لها.
في الشكل السابق، لدينا القيم: الولايات المتحدة، البرازيل، وإسبانيا. لدينا المفاتيح المماثلة لها: us،br و es.
الآن، يمكننا الوصول إلى هذه القيم باستخدام المفتاح المماثل لها.
ملاحظة:يحافظ واجهة Map على ثلاث مجموعات مختلفة:
مجموعة المفاتيح
مجموعة القيم
مجموعة من مجموعات المفتاح/القيمة (مجموعة Map)
لذلك، يمكننا الوصول إلى المفتاح، القيمة والمزامنة بشكل منفرد.
بما أن Map هي واجهة، لا يمكن إنشاء كائن منها.
للبحث عن وظائف واجهة Map، يمكننا استخدام الفئات التالية:
هذه الفئات معرفة وتحقق من واجهة Map في إطار الجمعية.
يُورث واجهة Map أيضًا من هذه الفروع التالية:
في Java، يجب علينا استيراد حزمة java.util.Map لاستخدام Map. بعد استيراد الحزمة، سنقوم بإنشاء map وفقًا للطريقة التالية.
// إنشاء Map باستخدام كلاس HashMap Map<Key, Value> numbers = new HashMap<>();
في الكود أعلاه، قمنا بإنشاء مجموعة Map تُدعى numbers. لقد استخدمنا كلاس HashMap لتحقيق واجهة Map.
هنا،
Key - هو المعرّف الفريد المستخدم لربط كل عنصر (قيمة) في map
Value - العنصر المرتبط بكلي في map
واجهة Map تشمل جميع طرق Collection interface. هذا لأن Collection هي واجهة الأب لـ Map.
بالإضافة إلى طرق Collection interface المتاحة، يشمل واجهة Map أيضًا الطرق التالية:
put(K,V) - إدراج رابط كلي K و قيمة V في map. إذا كان الكلي موجودًا بالفعل، فإن القيمة الجديدة ستستبدل القيمة القديمة.
putAll() - إدراج جميع السجلات الموجودة في مجموعة Map المحددة في هذا مجموعة Map.
putIfAbsent(K,V) - إذا لم يتم ربط كلي K بعد الآن بالقيمة، فإنه ي插入 رابط القيمة V.
get(K) - يعيد القيمة المرتبطة بكلي K المحدد. إذا لم يتم العثور على الكلي، فإنه يعيد null.
getOrDefault(K,defaultValue) - يعيد القيمة المرتبطة بكلي K المحدد. إذا لم يتم العثور على الكلي، فإنه يعيد defaultValue.
containsKey(K) - التحقق مما إذا كان كلي K المحدد موجودًا في map.
containsValue(V) - التحقق مما إذا كانت القيمة V المحددة موجودة في map.
replace(K,V) - استبدال قيمة كلي K بقيمة جديدة معينة V.
replace(K,oldValue,newValue) - استبدال قيمة كلي K القديمة بقيمة جديدة newValue فقط إذا كانت القيمة القديمة مرتبطة بكلي K.
remove(K) - إزالة السجل المرتبط بكلي K من مجموعة Map.
remove(K,V) - إزالة السجل المرتبط بكلي K و قيمة V من مجموعة Map.
keySet() - يعيد مجموعة تحتوي على جميع المفاتيح الموجودة في مجموعة Map.
values() - يعيد مجموعة تحتوي على جميع القيم الموجودة في مجموعة Map.
entrySet() -يعود بجمع من جميع المفاتيح/القيم الموجودة في الخريطة.
1. تنفيذ كلاس HashMap
import java.util.Map; import java.util.HashMap; class Main { public static void main(String[] args) { //إنشاء خريطة باستخدام كلاس HashMap Map<String, Integer> numbers = new HashMap<>(); //إدراج العناصر في مجموعة الخريطة numbers.put(\"One\", 1); numbers.put(\"Two\", 2); System.out.println(\"الخريطة: \" + numbers); //الأصناف في الخريطة System.out.println(\"الأصناف: \" + numbers.keySet()); //القيم في الخريطة System.out.println(\"القيم: \" + numbers.values()); //مدخلات الخريطة System.out.println(\"المساحات: \" + numbers.entrySet()); //حذف العنصر من مجموعة الخريطة int value = numbers.remove(\"Two\"); System.out.println(\"القيمة المزالة هي: \" + value); } }
نتائج الإخراج
الخريطة: {One=1, Two=2} الأصناف: [One, Two] القيم: [1, 2] المساحات: [One=1, Two=2] القيمة المزالة هي: 2
للحصول على معلومات إضافية عن HashMap، يرجى زيارةHashMap Java.
2. تنفيذ كلاس TreeMap
import java.util.Map; import java.util.TreeMap; class Main { public static void main(String[] args) { //使用TreeMap创建map Map<String, Integer> values = new TreeMap<>(); //插入元素到map values.put(\"Second\", 2); values.put(\"First\", 1); System.out.println(\"使用TreeMap创建map: \" + values); //替换值 values.replace(\"First\", 11); values.replace(\"Second\", 22); System.out.println("الخريطة الجديدة: " + values)} //حذف العنصر من مجموعة الخريطة int removedValue = values.remove("First"); System.out.println("القيمة المزالة: " + removedValue); } }
نتائج الإخراج
إنشاء خريطة باستخدام TreeMap: {First=1, Second=2} الخريطة الجديدة: {First=11, Second=22} القيمة المزالة: 11
للحصول على معلومات إضافية حول TreeMap، يرجى زيارةJava TreeMap.