Streams متقدم

استخدم Gatherers للعمليات الوسيطة المخصصة في Stream.

✕ Java 8
// Sliding window: manual implementation
List<List<T>> windows = new ArrayList<>();
for (int i = 0; i <= list.size()-3; i++) {
    windows.add(
        list.subList(i, i + 3));
}
✓ Java 24+
var windows = stream
    .gather(
        Gatherers.windowSliding(3)
    )
    .toList();
هل ترى مشكلة في هذا الكود؟ أخبرنا.
🧩

قابل للتركيب

تتركّب Gatherers مع عمليات Stream الأخرى.

📦

عمليات مدمجة

windowFixed و windowSliding و fold و scan جاهزة للاستخدام.

🔧

قابل للتوسيع

اكتب Gatherers مخصصة لأي تحويل وسيط.

الأسلوب القديم
Collector مخصص
الأسلوب الحديث
gather()
منذ JDK
24
الصعوبة
متقدم
تجميعات Stream
متاح

أُنهيت في JDK 24 (JEP 485، مارس 2025).

Gatherers عمليات Stream وسيطة جديدة يمكنها التعبير عن تحويلات معقدة مثل النوافذ المنزلقة والمجموعات ذات الحجم الثابت وعمليات المسح التي كانت مستحيلةً بعمليات Stream القياسية.

مشاركة 𝕏 🦋 in