في هذه الصفحة
المقدمة
الـ 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();
تقدروا دلوقتي تشتركوا في النشرة الأسبوعية لاقرأ-تِك بشكل مجاني تمامًا عشان يجيلكوا كل جديد بشكل أسبوعي فيما يخص مواضيع متنوعة وبشروحات بسيطة وسهلة وبجودة عالية 🚀
النشرة هيكون ليها شكل جديد ومختلف عن شكلها القديم وهنحاول انها تكون مميزة ومختلفة وخليط بين المحتوى الأساسي اللي بينزل ومفاجآت تانية كتير 🎉