splitBetween method
List<List<T>>
splitBetween(
- bool condition(
- T first,
- T second
)
)
Implementation
List<List<T>> splitBetween(bool Function(T first, T second) condition) {
if (isEmpty) return []; // إذا كانت القائمة فارغة، إرجاع قائمة فارغة.
List<List<T>> result = []; // قائمة النتيجة التي ستحتوي على القوائم الفرعية.
List<T> currentGroup = [first]; // المجموعة الحالية تبدأ بالعنصر الأول.
for (int i = 1; i < length; i++) {
if (condition(this[i - 1], this[i])) {
// إذا تحقق الشرط، أضف المجموعة الحالية إلى النتيجة.
result.add(currentGroup);
currentGroup = []; // ابدأ مجموعة جديدة.
}
currentGroup.add(this[i]); // أضف العنصر الحالي إلى المجموعة.
}
if (currentGroup.isNotEmpty) {
result.add(currentGroup); // أضف المجموعة الأخيرة.
}
return result;
}