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

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

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

مجموعات Java Array

Java Object-Oriented (I)

Java Object-Oriented (II)

Java Object-Oriented (III)

معالجة الاستثنائات Java

قوائم Java List

Java Queue (الصف)

مجموعات Java Map

مجموعات Java Set

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

قراءات/كتابة Java

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

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

طرق Java HashMap

إذا كان المفتاح الموجود بالفعل في المفتاح البسيط، فإن طريقة computeIfPresent() في Java HashMap ستحسب قيمة جديدة وتربطها بالمفتاح المحدد.

جملة syntax للطريقة computeIfPresent()

حساب hashmap.computeIfPresent(K key, BiFunction remappingFunction)

م 参数 computeIfPresent()

يملك طريقة computeIfPresent() إثنين من المعلمات:

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

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

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

قيمة إرجاع computeIfPresent()

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

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

ملاحظة: إذا كان نتيجة remappingFunction هو null، فإنه سيتم حذف المفتاح المحددالمفتاحالخريطة.

مثال 1: computeIfPresent() في HashMap Java

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 shoesPrice = prices.computeIfPresent("Shoes", (key, value) -> value + value * 10/100);
    System.out.println(\"سعر الأحذية بعد إضافة الضرائب على القيمة المضافة: \" + shoesPrice);
    // طباعة خريطة HashMap المعدلة
    System.out.println(\"خريطة HashMap بعد التحديث: \" + prices);
  }
}

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

HashMap: {Pant=150, Bag=300, Shoes=200}
سعر الأحذية بعد إضافة الضرائب على القيمة المضافة: 220
خريطة HashMap بعد التحديث: {Pant=150, Bag=300, Shoes=220}

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

computesIfPresent(\"Shoes\", (key, value) -> value + value * 10/100)

هنا،

  • (key, value) -> value + value*10/100  - هي lambda expression. إنها calculate القيمة الجديدة لShoes وتعيد. للحصول على مزيد من المعلومات حول lambda expressions، يرجى زيارةJava تعبيرات Lambda.

  • prices.computeIfPresent()  - يربط القيمة الجديدة التي يعود إليها lambda expression مع Shoes Mapping. هذا هو الشكل الوحيد، لأن Shoes مرتبط بالفعل بمفتاح في جدول الارتباط.

لا يمكن استخدام طريقة computeIfPresent() إذا لم تكن المفتاح موجودًا في جدول الارتباط.

اقرأ المزيد

طرق Java HashMap