どうも、ちょげ(@chogetarou)です。
リストの要素を上書きする方法を紹介します。
方法

リストの要素を上書きする方法は、3つあります。
[]
1つ目は、[]を使う方法です。
まず、list[index]のように、リストの要素にアクセスします。
そして、リストの要素に上書きする値を代入します。
list[index] = newValue //indexの要素を、newValueで更新
使用例
void main() {
var numbers = [1, 2, 3, 4, 5];
numbers[1] = 10;
numbers[3] = 10;
print(numbers); //[1, 10, 3, 10, 5]
}
replaceRange
2つ目は、replaceRangeメソッドを使う方法です。
まず、リストからreplaceRangeメソッドを呼び出します。
そして、replaceRangeメソッドの第1引数に範囲の最初の位置、第2引数に範囲の終わりの位置を指定します。
replaceRangeメソッドの第3引数には、上書きする値をリストで指定します。
//startからendまでの範囲を、第3引数のリストの要素で上書き
list.replaceRange(start, end, [value1, value2, ・・・])
replaceRangeメソッドは、呼び出したリストを上書きします。
使用例
void main() {
var numbers = [1, 2, 3, 4, 5];
numbers.replaceRange(1, 4, [10, 10, 10]);
print(numbers); //[1, 10, 10, 10, 5]
}
map
3つ目は、mapメソッドを使う方法です。
まず、リストからmapメソッドを呼び出します。
そして、mapメソッドの引数にコールバック関数を指定します。
引数のコールバック関数で、新しい値を返します。
list.map((item) => newValue);
使用例
void main() {
var numbers = [1, 2, 3, 4, 5];
numbers = numbers.map((num) => num * 2).toList();
print(numbers); //[2, 4, 6, 8, 10]
}
まとめ
リストの要素を上書きする方法は、次の3つです。
- []を使う方法
- replaceRangeメソッドを使う方法
- mapメソッドを使う方法
コメント