Collections متوسط

جمّع مباشرةً إلى قائمة غير قابلة للتعديل باستخدام stream.toList().

✕ Java 8
List<String> list = stream.collect(
    Collectors.collectingAndThen(
        Collectors.toList(),
        Collections::unmodifiableList
    )
);
✓ Java 16+
List<String> list = stream.toList();
هل ترى مشكلة في هذا الكود؟ أخبرنا.
📏

الأقصر على الإطلاق

stream.toList() لا تحتاج استدعاء collect() أو استيراد Collectors.

🔒

ثابتة

لا يمكن تعديل النتيجة — لا طفرات عرضية.

📖

مقروءة

تُقرأ بشكل طبيعي كخطوة نهائية في أي خط Stream.

الأسلوب القديم
collectingAndThen
الأسلوب الحديث
stream.toList()
منذ JDK
16
الصعوبة
متوسط
مُجمِّعات غير قابلة للتعديل
متاح

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

أضاف Java 10 الدوالَ toUnmodifiableList() و toUnmodifiableSet() و toUnmodifiableMap() لاستبدال غلاف collectingAndThen المطوّل. بالنسبة للقوائم تحديداً، توفر stream.toList() في Java 16 بديلاً أبسط — دون استدعاء collect() على الإطلاق. استخدم toUnmodifiableSet() و toUnmodifiableMap() لأنواع المجموعات الأخرى.

مشاركة 𝕏 🦋 in