Для вашего массива длина массива равна 3 (например, name.length = 3). Но поскольку он хранит элемент, начинающийся с индекса 0, он имеет максимальный индекс 2.
Итак, вместо 'i ** & lt; = name.length' вы должны написать 'i & lt; ** name.length' чтобы избежать «ArrayIndexOutOfBoundsException».
Два вида списков: RangeList
и StepList
.
import 'package:lists/lists.dart';
void main() {
final r1 = RangeList(0, 2);
print(r1);
print(r1.toList());
print('----');
final r2 = RangeList(-2, 0);
print(r2);
print(r2.toList());
print('----');
final s1 = StepList(0, 9, 2);
print(s1);
print(s1.toList());
print('----');
final s2 = StepList(9, 0, -2);
print(s2);
print(s2.toList());
}
Результат:
[0..2] [0, 1, 2] ---- [-2..0] [-2, -1, 0] ---- [0..9; +2] [0, 2, 4, 6, 8] ---- [9..0; -2] [9, 7, 5, 3, 1]