在 Dart 中,如果你需要批量修改列表(List)中的多个元素

在 Dart 中,如果你需要批量修改列表(List)中的多个元素,可以通过以下几种方式实现:

1. 使用 replaceRange 方法

replaceRange 允许你替换列表中指定范围内的元素。

语法

dart

void replaceRange(int start, int end, Iterable<E> newContents);

  • start:替换的起始索引(包含)。
  • end:替换的结束索引(不包含)。
  • newContents:用于替换的新元素集合(可以是列表、集合等)。

示例

dart

void main() { List<int> numbers = [1, 2, 3, 4, 5]; print('修改前: $numbers'); // 输出: [1, 2, 3, 4, 5] // 替换索引 1 到 3 的元素(不包含 3) numbers.replaceRange(1, 3, [20, 30]); print('修改后: $numbers'); // 输出: [1, 20, 30, 4, 5]}

2. 使用 setAll 方法

setAll 允许你通过索引批量设置元素,适用于已知索引位置的情况。

语法

dart

void setAll(int index, Iterable<E> iterable);

  • index:起始插入位置。
  • iterable:要插入的元素集合。

示例

dart

void main() { List<String> letters = ['a', 'b', 'c', 'd']; print('修改前: $letters'); // 输出: [a, b, c, d] // 从索引 1 开始,替换为 ['x', 'y', 'z'] letters.setAll(1, ['x', 'y', 'z']); print('修改后: $letters'); // 输出: [a, x, y, z]}

3. 使用扩展运算符(Spread Operator)

通过 ... 扩展运算符,可以合并多个列表或修改部分内容(Dart 2.3+)。

jrhz.info

示例

dart

void main() { List<int> numbers = [1, 2, 3, 4, 5]; print('修改前: $numbers'); // 输出: [1, 2, 3, 4, 5] // 替换索引 1 到 3 的元素 numbers = [ numbers[0], ...?[20, 30], // 展开新元素 ...numbers.sublist(3), // 保留剩余元素 ]; print('修改后: $numbers'); // 输出: [1, 20, 30, 4, 5]}

4. 直接遍历修改

如果需要基于条件批量修改,可以通过遍历列表实现。

示例:将所有偶数乘以 2

dart

void main() { List<int> numbers = [1, 2, 3, 4, 5]; print('修改前: $numbers'); // 输出: [1, 2, 3, 4, 5] for (int i = 0; i < numbers.length; i++) { if (numbers[i] % 2 == 0) { numbers[i] *= 2; // 偶数乘以 2 } } print('修改后: $numbers'); // 输出: [1, 4, 3, 8, 5]}

总结

  • replaceRange:适合替换连续范围的元素。
  • setAll:适合从指定索引开始插入新元素。
  • 扩展运算符:适合复杂合并或条件性修改。
  • 遍历修改:适合基于条件的批量操作。

根据具体需求选择合适的方法!

特别声明:[在 Dart 中,如果你需要批量修改列表(List)中的多个元素] 该文观点仅代表作者本人,今日霍州系信息发布平台,霍州网仅提供信息存储空间服务。

猜你喜欢

部分影院将下“蓝色花雨”,《他年她日》邀观众浪漫奔赴

电影《他年她日》不仅是一个奇幻爱情故事,它更是一部献给所有情感“长期主义者”的影像诗。 选择在12月31日上映,电影《他年她日》邀请观众在辞旧迎新的特殊时刻,带着对过去一年的感慨与新一年的憧憬,走进一场关于…

部分影院将下“蓝色花雨”,《<strong>他年她日</strong>》邀观众浪漫奔赴

Y44H波纹管减压阀(sbg-90y波纹管)

1,阀前进口介质压力从阀瓣和阀体密封圈开启间隙进入体腔使介质压力流满波纹管的组合箱,波纹管和弹簧因受介质压力的挤压而压缩,阀瓣随着阀杆位移,阀瓣产生对阀体密封圈的关闭,将阀前介质截止,不作阀后介质压力的补充…

Y44H波纹管减压阀(sbg-90y波纹管)

招聘平台哪个靠谱?2026 实测 TOP10,虚假岗位率极低(招聘网站哪个平台比较好)

赶集直招前身为2005年成立的赶集网,2022年由58集团重塑为专注招聘的平台,核心定位“企业直招”,覆盖全国超600座城市,主打蓝领及基层岗位,通过智能工具匹配企业与求职者。鱼泡直聘有丰富的校招岗位,且…

招聘平台哪个靠谱?2026 实测 TOP10,虚假岗位率极低(招聘网站哪个平台比较好)

2026伪素颜素颜霜实测报告:馥诺娜登顶,天然裸妆神器全解析(伪素颜是啥)

本次实测聚焦6款热门素颜霜,从成分天然度、妆效自然度、肤质适配性、持妆稳定性及权威资质五大核心维度,结合200+真实用户试用数据与第三方专业检测,形成客观公正的测评排行。 总结:聚焦天然与适配,精准选择伪素颜…

2026伪素颜素颜霜实测报告:馥诺娜登顶,天然裸妆神器全解析(伪素颜是啥)

谢贤与Coco的往昔再成焦点 七年后旧爱复出 港圈 爷孙恋背后隐秘纠葛(谢贤与女友coco怎么认识的)

这一处理方式,与他在访谈节目《鲁豫有约》中的风度一脉相承,也比公众的预期更显得体面。与前任保持体面的谢贤形成鲜明对比,圈内一些人,如钟楚红和关之琳,也曾经历过类似的争议,但她们始终选择保持沉默,不说前任坏话,…

谢贤与Coco的往昔再成焦点 七年后旧爱复出 港圈 爷孙恋背后隐秘纠葛(谢贤与女友coco怎么认识的)