English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

تعليميات Java الأساسية

تحكم في العملية في Java

مجموعات البينات في Java

مفاهيم التوجه إلى الأشياء (I) في Java

مفاهيم التوجه إلى الأشياء (II) في Java

مفاهيم التوجه إلى الأشياء (III) في Java

معالجة الاستثناءات في Java

قوائم Java

مجموعات Queue (الطوابير) في Java

مجموعات Map في Java

مجموعات Set في Java

مدخل/مخرج Java (I/O)

قراء/كتابة Java

مواضيع أخرى في Java

استخدام طريقة compute() في HashMap Java و مثال

طرق Java HashMap

يحسب طريقة compute() في HashMap Java قيمة جديدة ويقوم بتحميلها بملحق المفتاح المحدد في خريطة الترميز.

نوعية compute() هو:

hashmap.compute(K key, BiFunction remappingFunction)}

معلمات compute()

يحتوي طريقة compute() على اثنين من المعلمات:

  • key - مرتبطة بقيمة الحساب

  • remappingFunction - لـمفتاحوظيفة حساب القيمة الجديدة

ملاحظة:يمكن للـ remappingFunction استقبال اثنين من المعلمات.

قيمة compute()

  • يعود القيمة المرتبطة بالمفتاح

  • إذا لم يكن هناك قيمة مرتبطة بالمفتاح، يتم العودة null

ملاحظة:إذا كان نتيجة remappingFunction هو null، يتم حذف المفتاح المحددمفتاحمن الم映射.

مثال: إدراج قيمة جديدة باستخدام compute() في HashMap

import java.util.HashMap;
class Main {
  public static void main(String[] args) {
    //إنشاء HashMap
    HashMap<String, Integer> prices = new HashMap<>();
    //إدراج سجلات في HashMap
    prices.put("Shoes", 200);
    prices.put("Bag", 300);
    prices.put("Pant", 150);
    System.out.println("HashMap: " + prices);
    //حساب سعر النعل الجديد بخصم 10%
    int newPrice = prices.compute("Shoes", (key, value) -> value - value * 10/100);
    System.out.println("سعر التخفيض للنعل: " + newPrice);
    //طبع الخريطة HashMap المعدلة
    System.out.println("الخريطة HashMap المعدلة: " + prices);
  }
}

نتيجة الإخراج

HashMap: {Pant=150, Bag=300, Shoes=200}
سعر التخفيض للنعل: 180
الخريطة HashMap المعدلة: {Pant=150, Bag=300, Shoes=180}

في هذا المثال، قمنا بإنشاء خريطة برمجة باسم prices. لاحظ التعبير

prices.compute("Shoes", (key, value) -> value - value * 10/100)

هنا،

  • (key, value) -> value - value * 10/100 -  هذا تعبير lambda. إنه يخفض سعر الحذاء الأصلي بنسبة 10٪ ويقوم بتقديم. للحصول على معلومات إضافية حول تعبيرات lambda، يرجى زيارةJava تعبيرات Lambda.

  • prices.compute() - يربط بين القيمة الجديدة التي تعود من التعبير اللambda مع المapping الخاص بـ Shoes.

ملاحظة:وفقاً للوثائق الرسمية لـ Java،HashMap merge()الطريقة هي أكثر بساطة من طريقة compute()

اقرأ المزيد

  • HashMap computeIfAbsent() - إذا لم يتم تعيين المفتاح إلى أي قيمة، فإنه يحسب هذه القيمة

  • HashMap computeIfPresent() - إذا كان المفتاح م映射 إلى قيمة، فإنه يحسب هذه القيمة

طرق Java HashMap