Skip to Sidebar Skip to Content
اقرأ-تك اقرأ-تك
ضيفنا الكريم

  • تسجيل الدخول
  • الرئيسية
  • المقالات
  • خطط الاشتراك
  • - اصدارتنا
  • ورقة وقلم
  • مدونات فطين
  • شنطة مبرمج
  • النشرة الأسبوعية
  • كنوز
  • - تعرف علينا
  • من نحن
  • الشراكات
  • كتاب المحتوى
  • اكتب معنا
  • تواصل معنا
  • - بنود الخدمة
  • سياسة الخصوصية
  • الشروط والأحكام
الوسوم
  • Backend
  • Distributed Systems
  • System Design
  • Databases
  • LinkedIn
  • X
  • Facebook
  • Telegram
  • GitHub
جميع الحقوق محفوظة لمنصة اقرأ-تِك 2024©

Full Guide Into Map and HashMap in Java

  • Mahmoud Youssef by Mahmoud Youssef
    Mahmoud Youssef Mahmoud Youssef
    CEO & Founder
    • X
    • Facebook
    • Website
  • •
  • ٢٤ يونيو، ٢٠٢٤
  • •
  • 3 min read
  • Share on X
  • Share on Facebook
  • Share on LinkedIn
  • Share on Pinterest
  • Email
Full Guide Into Map and HashMap in Java
Full Guide Into Map and HashMap in Java
  • Java
  • Programming Language

المقدمة

الـ Map تعتبر Interface في الـ Java بيحددلنا ان عندنا Object بيـ Map الـ Keys بتاعته لـ Values معينة. وهو في لغات تانية كتير ممكن يكون اسمه Dictionary أو HashMap بمعنى انه Key Value Data Structure.

والـ Map مبيسمحش بوجود Duplicate Keys فكل Key بيـ Map لـ Value معينة بالكتير واحد فهو هيـ Map لـ Null يا اما Value واحدة , ومش شرط ان Value واحدة معناها قيمة واحدة ولكن هو ممكن يكون شايل جواه عادي جدًا أي نوع Data Structure ولكن الغرض انه شايل حاجة واحدة.

وفي الـ Java الـ HashMap Class هي من أشهر وأكتر الـ Implementation للـ Map Interface اللي بيتم استعمالها وهي Efficient جدًا بالمناسبة.


ازاي نـ Initialize HashMap in Java

فيه أكتر من طريقة نقدر من خلالهم اننا نعمل Initialization للـ HashMap.

أول طريقة هي من خلال استعمال الـ new بحيث اننا نـ Create الـ Object وبعدين نزود فيه البيانات اللي عاوزينها

Map<String, String> responseHeaders = new HashMap<>();
map.put("retry-after", "30");
map.put("TTL", "30");
map.put("x-response-time", "39.102ms");
map.put("x-rate-limit-remaining", "119");
map.put("x-rate-limit-limit", "120");

تاني طريقة هي باستعمال الـ ofEntries :

والطريقة دي بتخلينا اننا نـ Create Unmodifiable Map يعني بمعنى أصح هنـ Create Map بشكل ما ينفعش نغير فيه خالص ولا نعمل أي عمليات من الـ Update / Insert / Remove

Map<String, String> responseHeaders = Map.ofEntries(
Map.entry("retry-after", "30"),
Map.entry("TTL", "30"),
Map.entry("x-response-time", "39.102ms"),
Map.entry("x-rate-limit-remaining", "119"),
Map.entry("x-rate-limit-limit", "120")
);

وفيه برضو طريقة تانية تخلينا نـ Create Unmodifiable Map وهي من خلال الـ of :

والطريقة دي بتسمح لينا باننا نخزن لحد 10 Keys كحد أقصى ومحتاجة على الأقل تكون شغال أقل حاجة بـ Java 9.

Map<String, String> responseHeaders = Map.of(
"retry-after", "30",
"TTL", "30",
"x-response-time", "39.102ms",
"x-rate-limit-remaining", "119",
"x-rate-limit-limit", "120");

ولو عاوزين نرجع Map فاضي ممكن نعمل كده :

Map<String, String> responseHeaders = Map.of();

تقدروا دلوقتي تشتركوا في النشرة الأسبوعية لاقرأ-تِك بشكل مجاني تمامًا عشان يجيلكوا كل جديد بشكل أسبوعي فيما يخص مواضيع متنوعة وبشروحات بسيطة وسهلة وبجودة عالية 🚀

النشرة هيكون ليها شكل جديد ومختلف عن شكلها القديم وهنحاول انها تكون مميزة ومختلفة وخليط بين المحتوى الأساسي اللي بينزل ومفاجآت تانية كتير 🎉

Eqraatech Newsletter | Eqraatech - اقرأ-تِك | Substack
محتوى تقني متميز في مختلف مجالات هندسة البرمجيات باللغة العربية عن طريق تبسيط المفاهيم البرمجية المعقدة بشكل سلس وباستخدام صور توضيحية مذهلة. Click to read Eqraatech Newsletter, a Substack publication with hundreds of subscribers.
SubstackEqraatech - اقرأ-تِك

ازاي نضيف بيانات في الـ Map

هذا المقال مخصص للأعضاء المنتسبين لخطط الاشتراك المدفوعة فقط

اشترك الآن وتصفح كافة المقالات المميزة واستمتع بمحتوى حصري وابق على اطلاع دائم بالتحديثات المستمرة.

اشترك الآن 🚀

هل لديك حساب؟ تسجيل الدخول

في هذا المقال
اشترك الآن واكمل قراءة المقال
قناة اقرأ-تِك على التليجرام قناة اقرأ-تِك على التليجرام

اشترك الآن بنشرة اقرأ‑تِك الأسبوعية

لا تدع أي شيء يفوتك. واحصل على أحدث المقالات المميزة مباشرة إلى بريدك الإلكتروني وبشكل مجاني!

مقالات ذات صلة

  • Deep Dive into Code Quality - Beyond Bugs 5 min read

    Deep Dive into Code Quality - Beyond Bugs

    Rowan Ibrahem Rowan Ibrahem • ١ سبتمبر، ٢٠٢٤
    Rowan Ibrahem Rowan Ibrahem
    Flutter Developer
    • Website
  • Java Collections Cheatsheet 1 min read

    Java Collections Cheatsheet

    Mahmoud Youssef Mahmoud Youssef • ٢٥ أغسطس، ٢٠٢٤
    Mahmoud Youssef Mahmoud Youssef
    CEO & Founder
    • X
    • Facebook
    • Website
  • Best Practices for Handling NullPointerException in Java 3 min read

    Best Practices for Handling NullPointerException in Java

    Mahmoud Youssef Mahmoud Youssef • ٢٢ أغسطس، ٢٠٢٤
    Mahmoud Youssef Mahmoud Youssef
    CEO & Founder
    • X
    • Facebook
    • Website
  • Java Exceptions Cheatsheet 1 min read

    Java Exceptions Cheatsheet

    Alaa Elkzaz Alaa Elkzaz • ٣ أغسطس، ٢٠٢٤
    Alaa Elkzaz Alaa Elkzaz
    Co-Founder & Software Engineer
    • Website
  • Completable Future join() vs. get() in Java 2 min read

    Completable Future join() vs. get() in Java

    Mahmoud Youssef Mahmoud Youssef • ٨ يوليو، ٢٠٢٤
    Mahmoud Youssef Mahmoud Youssef
    CEO & Founder
    • X
    • Facebook
    • Website
  • Lazy Evaluation in Java Streams 2 min read

    Lazy Evaluation in Java Streams

    Mahmoud Youssef Mahmoud Youssef • ٤ يوليو، ٢٠٢٤
    Mahmoud Youssef Mahmoud Youssef
    CEO & Founder
    • X
    • Facebook
    • Website
  • Stream FlatMap in Java with Examples 3 min read

    Stream FlatMap in Java with Examples

    Mahmoud Youssef Mahmoud Youssef • ٢ يوليو، ٢٠٢٤
    Mahmoud Youssef Mahmoud Youssef
    CEO & Founder
    • X
    • Facebook
    • Website
  • Introduction to Java HttpClient 3 min read

    Introduction to Java HttpClient

    Mahmoud Youssef Mahmoud Youssef • ٢٦ يونيو، ٢٠٢٤
    Mahmoud Youssef Mahmoud Youssef
    CEO & Founder
    • X
    • Facebook
    • Website
اقرأ-تك اقرأ-تك
  • الرئيسية
  • المقالات
  • خطط الاشتراك
  • - اصدارتنا
  • ورقة وقلم
  • مدونات فطين
  • شنطة مبرمج
  • النشرة الأسبوعية
  • كنوز
  • - تعرف علينا
  • من نحن
  • الشراكات
  • كتاب المحتوى
  • اكتب معنا
  • تواصل معنا
  • - بنود الخدمة
  • سياسة الخصوصية
  • الشروط والأحكام
الوسوم
  • Backend
  • Distributed Systems
  • System Design
  • Databases
  • LinkedIn
  • X
  • Facebook
  • Telegram
  • GitHub
جميع الحقوق محفوظة لمنصة اقرأ-تِك 2024©