在遍历列表时修改列表中的元素没有什么错(不要修改列表本身,不建议这样做),但是可以这样更好地表达它:
for (int i = 0; i < letters.size(); i++) { letters.set(i, "D");}最后,整个列表将以字母
"D"为内容。
for在这种情况下,使用增强的循环不是一个好主意,您不使用迭代变量做任何事情,此外,您不能使用迭代变量来修改列表的内容。
请注意,以上代码段 并未 修改列表的结构-
含义:未添加或删除任何元素,列表的大小保持不变。简单地将一个元素替换为另一个元素不算作结构修改。这是@ZouZou在评论中引用的文档的链接,其中指出:
结构修改是添加或删除一个或多个元素,或显式调整后备数组大小的任何操作;仅设置元素的值不是结构上的修改



