يستبدل toList() النهائي collect(Collectors.toList()) المطوّل.
مقارنة الكود
✕ Java 8
List<String> result = stream
.filter(s -> s.length() > 3)
.collect(Collectors.toList());
✓ Java 16+
List<String> result = stream
.filter(s -> s.length() > 3)
.toList();
هل ترى مشكلة في هذا الكود؟ أخبرنا.
لماذا يتفوق الأسلوب الحديث
7 أحرف مقابل 24
.toList() تستبدل .collect(Collectors.toList()).
ثابتة
قائمة النتيجة لا يمكن تعديلها.
سائلة
تُقرأ بشكل طبيعي في نهاية خط الأنابيب.
الأسلوب القديم
Collectors.toList()
الأسلوب الحديث
.toList()
منذ JDK
16
الصعوبة
مبتدئ
دعم JDK
Stream.toList()
متاح
متاح على نطاق واسع منذ JDK 16 (مارس 2021)
كيف يعمل
تُرجع Stream.toList() قائمةً غير قابلة للتعديل. وهي مكافئة لـ .collect(Collectors.toUnmodifiableList()) لكن أقصر بكثير. ملاحظة: النتيجة غير قابلة للتعديل بخلاف Collectors.toList().
توثيق ذو صلة