English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
يستبدل طريقة HashMap replace() في Java القيمة المرتبطة بالمفتاح المحدد في الخريطة بالقيمة المحددة
نحو استخدام طريقة replace()
hashmap.replace(K key, V oldValue, V newValue)
key - المفتاح الذي يتم استبدال خريطته
oldValue ـ (اختياري) - القيمة التي يتم استبدالها في الخريطة
newValue - تم استبدال oldValue بهذه القيمة
تستبدل طريقة HashMap replace() الخريطة وتعيدها:
إذا لم يكن parameter الاختياري oldValue موجودًا، فإنها تعود القيمة السابقة المرتبطة بالمفتاح المحدد
إذا كان هناك parameter الاختياري oldValue، فإنها تعود true
الاحتياط: إذا كانت القيمة المحددة مرتبطة بكائن null، أو إذا لم يكن المفتاح موجودًا في hashmap، فإن هذه الطريقة تعود null.
import java.util.HashMap; class Main { public static void main(String[] args) { // إنشاء HashMap HashMap<Integer, String> languages = new HashMap<>(); // إضافة عنصر إلى خريطة المفاتيح languages.put(1, "Python"); languages.put(2, "English"); languages.put(3, "JavaScript"); System.out.println("خريطة المفاتيح: " + languages); // استبدال المفتاح 2 في الخريطة String value = languages.replace(2, "Java"); System.out.println("القيمة التي تم استبدالها: " + value); System.out.println("خريطة المفاتيح بعد التحديث: " + languages); } }
نتائج الإخراج
خريطة المفاتيح: {1=Python, 2=English, 3=JavaScript} القيمة التي تم استبدالها: English خريطة المفاتيح بعد التحديث: {1=Python, 2=Java, 3=JavaScript}
في المثال السابق، قمنا بإنشاء خريطة معرفية تُدعى languages. هنا، استخدمنا طريقة replace() لتحديث المفتاح1يُستبدل عنصر (1=English) بالقيمة المحددة Java.
في هذا السياق، لا يوجد параметر oldValue الاختياري لـ replace()، لذا يرجع إلى القيمة القديمة (English).
import java.util.HashMap; class Main { public static void main(String[] args) { // إنشاء HashMap HashMap<String, String> countries = new HashMap<>(); // إدراج العنصر في HashMap countries.put("Washington", "America"); countries.put("Ottawa", "Canada"); countries.put("Canberra", "Australia"); System.out.println("Countries:\n" + countries); // استبدال الترميز {Washington = America} countries.replace("Washington", "America", "USA"); // يعود true countries.replace("Canberra", "New Zealand", "Victoria"); // يعود false System.out.println("Countries بعد تنفيذ replace():\n" + countries); } }
نتائج الإخراج
Countries: {Canberra=Australia, Ottawa=Canada, Washington=America} Countries بعد تنفيذ replace() {Canberra=Australia, Ottawa=Canada, Washington=USA}
في هذا المثال، قمنا بإنشاء خريطة الترميز المسماة countries. لاحظ هذا السطر،
countries.replace("Washington", "America", "USA");
في هذا السياق، يشمل replace() المعلمة الخيارية oldValue (America). لذلك، يتم استبدال الترميز الذي يحمل المفتاح Washington إلى القيمة America بالقيمة الجديدة USA.
لكن لاحظ،
countries.replace("Canberra", "New Zealand", "Victoria");
في هذا السياق، لم يتم تخصيص المفتاح Canberra إلى القيمة New Zealand في خريطة الترميز. لذلك، لن يتبادل أي قيمة replace().
الاحتياطنحن يمكن أن نستخدم Java HashMap clear() يحذف جميع الخرائط من المصفوفة الهشاشة.
يبدو جملة put() و replace() في HashMap متشابهة جدًا.
// جملة put() hashmap.put(key, value) // جملة replace() hashmap.replace(key, value)
وإذا كان يحتوي مصفوفة الهشاشة على المفتاح المحددالمفتاحمن الخرائط عندئذ ستبدل كلا هذين الأسلوبين القيمة المرتبطة بالمفتاح المحدد.
لكن، إذا لم يحتوي مصفوفة الهشاشة على الخريطة المحددةالمفتاحلأي خريطة، فإن
يستبدل put() القيمة المحددةالمفتاحوالالقيمةإدراج خريطة جديدة
يستعيد replace() قيمة null
import java.util.HashMap; class Main { public static void main(String[] args) { // إنشاء HashMap HashMap<Integer, String> languages1 = new HashMap<>(); // إدراج مدخل في HashMap languages1.put(1, "Python"); languages1.put(2, "JavaScript"); // إنشاء HashMap مشابهة لlanguages1 HashMap<Integer, String> languages2 = new HashMap<>(); // وضع جميع المدخلات من language1 إلى language2 languages2.putAll(languages1); System.out.println("HashMap: " + languages1); // استخدام put() languages2.put(3, "Java"); System.out.println("HashMap بعد put():\n" + languages2); // استخدام replace() languages1.replace(3, "Java"); System.out.println("HashMap بعد الاستبدال:\n" + languages1); } }
نتائج الإخراج
HashMap: {1=Python, 2=JavaScript} HashMap بعد put(): {1=Python, 2=JavaScript, 3=Java} HashMap بعد HashMap(): {1=Python, 2=JavaScript}
في المثال السابق، قمنا بإنشاء خريطة ترميز حشو اثنتين تسمى languages1 وlanguages2. استخدمناHashMap putAll()الطريقة لجعل خريطة الترميز الحشو لديه نفس الخرائط.
في هذا، لا يوجد مفتاح في خريطة الترميز الحشو3الخريطة. لذلك،
يضيف الطريقة put() خريطة جديدةالإضافة (3 = Java)إلى HashMap
لا يقوم بتنفيذ أي عملية الطريقة replace()
زيارةJava HashMap put()الطرق لمعرفة المزيد عن إضافة المشاركات.