Метод setRange
Метод setRange класса List заменяет элементы списка в заданном диапазоне значениями из другого списка. Первым параметром метод принимает начальный индекс диапазона, вторым - конечный индекс (не включая его), третьим - список-источник, из которого берутся новые значения. Четвёртый параметр необязательный и задаёт начальную позицию в списке-источнике, с которой начинается копирование значений.
Метод изменяет исходный список и ничего не возвращает. Конечный индекс не входит в заменяемый диапазон. Количество элементов, которые нужно заменить, не должно превышать количество доступных элементов в списке-источнике, начиная с указанной позиции.
Синтаксис
list.setRange(start, end, iterable, [skipCount])
Пример
Давайте заменим элементы списка с индекса 1 по 3 (конечный индекс не входит в диапазон) значениями из другого списка:
void main()
{
List<int> list = [1, 2, 3, 4, 5];
List<int> source = [10, 20];
list.setRange(1, 3, source);
print(list);
}
Результат выполнения кода:
[1, 10, 20, 4, 5]
Пример
Давайте заменим элементы списка с индекса 0 по 3, начиная копирование из источника с позиции 1:
void main()
{
List<int> list = [1, 2, 3, 4, 5];
List<int> source = [10, 20, 30];
list.setRange(0, 3, source, 1);
print(list);
}
Результат выполнения кода:
[20, 30, 4, 5]
Пример
Давайте заменим все элементы списка значениями из строкового списка:
void main()
{
List<String> list = ['a', 'b', 'c', 'd', 'e'];
List<String> source = ['x', 'y', 'z', 'w', 'v'];
list.setRange(0, list.length, source);
print(list);
}
Результат выполнения кода:
[x, y, z, w, v]
Смотрите также
-
метод
getRange,
который возвращает диапазон элементов списка -
метод
replaceRange,
который заменяет диапазон элементов списка -
метод
fillRange,
который заполняет диапазон элементов значением -
метод
setAll,
который заменяет элементы начиная с указанного индекса