list通过foreach添加list数据被最后一条覆盖了
时间: 2023-08-05 13:10:32 浏览: 58
可能是因为在 foreach 循环中添加元素时,每次都是在 list 的末尾添加,而不是在当前迭代的位置添加。这样就会导致后面添加的元素覆盖掉前面的元素。
解决办法可以是在 foreach 循环中使用 ListIterator,通过 ListIterator 的 add 方法向当前迭代的位置添加元素,而不是添加到末尾。示例代码如下:
```
List<String> list = new ArrayList<String>();
ListIterator<String> iterator = list.listIterator();
while (iterator.hasNext()) {
String element = iterator.next();
// 在当前位置添加元素
iterator.add(newElement);
}
```
另外,还可以考虑在 foreach 循环之前就将要添加的元素都添加到一个临时的 List 中,然后再将临时的 List 添加到原始的 List 中,这样就不会出现覆盖的问题了。
相关问题
List foreach删除某条数据
假设你有一个List对象,名为list,其中存储了一些数据。现在你想要删除其中的某条数据,可以使用foreach循环遍历List,找到需要删除的数据,并使用Remove方法将其从List中移除。以下是一个示例代码:
```
foreach(var item in list)
{
if(item == dataToRemove)
{
list.Remove(item);
break;
}
}
```
其中,dataToRemove是你想要删除的数据。在遍历List时,如果找到了该数据,就使用Remove方法将其从List中移除。需要注意的是,在使用foreach循环遍历List时,不能直接对List进行修改,否则会抛出异常。因此,在找到需要删除的数据后,需要使用break语句跳出循环,避免继续遍历List。
kotlin的list的foreach拿到是否遍历到最后一条了
在 Kotlin 中,List 的 forEach 函数并不会提供是否遍历到最后一条的信息。如果你需要知道是否遍历到了最后一条,可以使用 List 的 withIndex 函数来遍历列表,并且获取当前遍历的元素的索引:
```
val list = listOf("a", "b", "c", "d")
list.withIndex().forEach { (index, item) ->
if (index == list.lastIndex) {
println("已经遍历到了最后一个元素:$item")
} else {
println("当前元素:$item")
}
}
```
这段代码会输出:
```
当前元素:a
当前元素:b
当前元素:c
已经遍历到了最后一个元素:d
```
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)