Menu
Coddy logo textTech
flag Ar iconالعربيةdown icon

الوصول إلى القيم

جزء من قسم Logic & Flow في رحلة Java على Coddy — الدرس 12 من 59.

في HashMap، يرتبط كل مفتاح بقيمة. للوصول إلى قيمة، تستخدم طريقة get() وتقوم بتوفير المفتاح.

يقوم HashMap بعد ذلك بإرجاع القيمة المرتبطة بهذا المفتاح. إذا لم يكن المفتاح موجوداً في HashMap، فإن الطريقة get() تُرجع null.

إليك الصيغة الأساسية:

ValueType value = mapName.get(key);
  • mapName: اسم الـ HashMap.
  • key: المفتاح الذي تريد استرداد القيمة المرتبطة به.
  • ValueType: نوع بيانات القيمة.

على سبيل المثال، دعونا نحدد الـ HashMap أولاً:

HashMap<String, Integer> ages = new HashMap<>();
ages.put("Alice", 30);
ages.put("Bob", 25);

والآن لاسترجاع هذه القيم:

Integer aliceAge = ages.get("Alice");
// عمر أليس: 30

Integer charlieAge = ages.get("Charlie");
// عمر تشارلي: null

في هذا المثال، نقوم باسترداد عمر Alice باستخدام المفتاح "Alice". وبما أن "Charlie" ليس مفتاحاً في الـ HashMap، فإن charlieAge هو null.

challenge icon

التحدي

سهل

أنشئ دالة تسمى getCapital تأخذ وسيطين (arguments):

  1. HashMap تسمى capitals حيث المفاتيح هي أسماء الدول (سلاسل نصية) والقيم هي أسماء العواصم (سلاسل نصية).
  2. سلسلة نصية country تمثل اسم الدولة.

يجب أن تعيد الدالة العاصمة للدولة المعطاة من خلال الوصول إلى HashMap المسماة capitals. إذا لم يتم العثور على الدولة في HashMap، أعد "Not found".

ورقة مرجعية

لاسترداد قيمة من HashMap، استخدم التابع get() مع المفتاح. إذا لم يكن المفتاح موجوداً، فإنه يعيد null.

ValueType value = mapName.get(key);

مثال:

HashMap<String, Integer> ages = new HashMap<>();
ages.put("Alice", 30);
ages.put("Bob", 25);

Integer aliceAge = ages.get("Alice");  // 30
Integer charlieAge = ages.get("Charlie");  // null

جرّب بنفسك

// --- وحدات لتحويل سلسلة نصية من 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 String getCapital(HashMap<String, String> capitals, String country) {
        // اكتب الكود الخاص بك أدناه
    }

    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        String hashMapString = scanner.nextLine();
        String country = scanner.nextLine();

        // تحويل السلسلة النصية لـ HashMap إلى HashMap
        Type mapType = new TypeToken<HashMap<String, String>>(){}.getType();
        HashMap<String, String> countryCapitals = new Gson().fromJson(hashMapString, mapType);

        String result = getCapital(countryCapitals, country);
        System.out.println(result);
    }
}
quiz iconاختبر نفسك

يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.

جميع دروس Logic & Flow