java For循环(元素:集合)未进行永久更改
当使用for循环using(element:collection)遍历集合时,我对数据所做的更改仅在循环期间保持不变
这是我的密码:
String[] names = {"bob", "fred", "marcus", "robert", "jack", "steve", "nathan", "tom", "freddy", "sam"};
for(String indexData : names)
{
indexData = indexData.toUpperCase();
System.out.println(indexData);
}
System.out.println("this is word 5 in the array: " + names[4]);
输出:
BOB
FRED
MARCUS
ROBERT
JACK
STEVE
NATHAN
TOM
FREDDY
SAM
this is word 5 in the array: jack
我的问题是使用这种类型的循环如何进行永久性更改
# 1 楼答案
使用增强循环无法实现这一点。你需要传统的for循环
indexData = indexData.toUpperCase();
仅更改局部变量indexData
。它不会影响数组元素下面的
Traditional for loop
将更改您的数组# 2 楼答案
您可以使用
ListIterator
:# 3 楼答案
循环(元素:Collection)称为增强的for循环。ehanced for循环维护一个迭代器,不允许删除对象,也不允许显式使用迭代器
实现理想结果的方法是通过标准循环: