Dart中,当在循环遍历数组时修改数组会导致 "Concurrent modification during iteration" 错误。为了正确地在遍历数组时插入项目,有几种方法可以使用:
使用
for
循环和List.length
来遍历数组。这样可以保证每次遍历数组的长度都是固定的,因此可以避免 "Concurrent modification during iteration" 错误。使用
forEach
方法遍历数组。在闭包中插入项目,可以使用add
方法。使用 Iterator,使用 Iterator.moveNext() 和 Iterator.remove() 来在遍历时进行操作
示例:
for(int i = 0; i < list.length; i++){
if(condition){
list.insert(i, element);
i++; // 注意i需要++,避免跳过下一个元素
}
}