في Java 8 ، وهي مهمة مشتركة هي تحويل قائمة الكائنات إلى خريطة باستخدام التدفقات والامتدادات. يمكن تحقيق ذلك بطرق مختلفة ، اعتمادًا على السلوك المطلوب وتوافر مكتبات الطرف الثالث مثل الجوافة.
قائمة على الخريطة المتضمنة التكرار اليدوي وحلقة مكتوبة بخط اليد: خريطة خاصة
الحلول المستندة إلى الجوافة
private Map]nameMap(List choices) { final Map hashMap = new HashMap(); for (final Choice choice : choices) { hashMap.put(choice.getName(), choice); } return hashMap; }
جوافا مع java 7
إرجاع Maps.UniqueIndex (خيارات ، وظيفة جديدة
هواة الجمع إلى الإنقاذ
يقدم فئة جامعي Java 8 تطبيقًا قويًا لقوائم رسم الخرائط. يأخذ جامع tomap وسيطتين:
private MapnameMap(List choices) { return Maps.uniqueIndex(choices, new Function () { @Override public String apply(final Choice input) { return input.getName(); } }); }
في هذه الحالة ، يمكننا استخدام الاختيار :: getName و function.identity () لاسترداد المفتاح والقيمة ، على التوالي:
خريطة = choices.stream (). جمع (collectors.tomap (الاختيار :: getName ، function.identity ())) ؛تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.
Copyright© 2022 湘ICP备2022001581号-3