Collections مبتدئ

حوّل Stream إلى مصفوفة محدّدة النوع باستخدام مرجع دالة.

✕ Pre-Streams
List<String> list = getNames();
String[] arr = new String[list.size()];
for (int i = 0; i < list.size(); i++) {
    arr[i] = list.get(i);
}
✓ Java 8+
String[] arr = getNames().stream()
    .filter(n -> n.length() > 3)
    .toArray(String[]::new);
هل ترى مشكلة في هذا الكود؟ أخبرنا.
🎯

آمن من حيث النوع

لا تحويل لـ Object[] — نوع المصفوفة صحيح.

🔗

قابل للتسلسل

يعمل في نهاية أي خط معالجة Stream.

📏

موجز

تعبير واحد يستبدل الحلقة اليدوية.

الأسلوب القديم
نسخ المصفوفة يدوياً
الأسلوب الحديث
toArray(generator)
منذ JDK
8
الصعوبة
مبتدئ
تحويل Stream إلى مصفوفة محدّدة النوع
متاح

متاح على نطاق واسع منذ JDK 8 (مارس 2014)

تُنشئ الدالة toArray(IntFunction) مصفوفةً محدّدة النوع من Stream. يُخبر المولّد (String[]::new) التدفقَ بنوع المصفوفة المراد إنشاؤها.

مشاركة 𝕏 🦋 in