كيفية تهيئة HashMap في Java بطريقة حرفية (كما في literal)؟
مرحبًا بالجميع! لقد بدأت للتو في تعلم Java وواجهت مشكلة. في Python، يمكنني تعريف قاموس بطريقة حرفية، على سبيل المثال:
```python
my_dict = {"key1": "value1", "key2": "value2"}
```
ولكن في Java، عندما أحاول فعل شيء مشابه لـ HashMap، لا ينجح الأمر. أضطر لكتابة كود طويل مثل هذا:
```java
HashMap map = new HashMap<>();
map.put("key1", "value1");
map.put("key2", "value2");
map.put("key3", "value3");
```
هذا غير مريح جدًا، خاصة عندما أحتاج لتهيئة خريطة صغيرة بقيم معروفة. سمعت عن شيء اسمه "double brace initialization"، لكنني قرأت أنه ممارسة سيئة. هل هناك طريقة في Java لتعريف HashMap بطريقة حرفية مثل Python؟ بحيث يمكن تمرير جميع أزواج المفتاح-القيمة فور إنشاء الكائن؟ سأكون ممتنًا لأمثلة الكود والشروحات. إصدار Java هو 11، لكنني مهتم أيضًا بمعرفة الميزات الأحدث.
<<>>
أفضل طريقة: طرق المصنع الثابتة (Java 9+)
بدءًا من Java 9، يمكنك استخدام Map.of() لإنشاء خريطة غير قابلة للتعديل بطريقة حرفية:
Map map = Map.of("key1", "value1", "key2", "value2", "key3", "value3");
إذا كنت بحاجة لخريطة قابلة للتعديل، يمكنك تمرير النتيجة إلى مُنشئ HashMap:
HashMap map = new HashMap<>(Map.of("key1", "value1", "key2", "value2"));