问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

java里增强for循环【for(String a : arrayList)】里面可以修改数据吗?

发布网友 发布时间:2022-05-10 16:06

我来回答

5个回答

热心网友 时间:2023-10-15 03:48

java里增强for循环【for(String a: arrayList)】里面可以修改数据,但是不能删除数据,如下例子:


修改集合:

import java.util.ArrayList;
import java.util.List;


public class TestA {

public static void main(String[] args){
//集合
List<String> arrayList=new ArrayList<String>();
//存放元素
arrayList.add("hello");
arrayList.add("ninghao");
arrayList.add("bye");
//集合标量
int index=0;
//遍历集合
for(String a:arrayList){
//输出集合对象
System.out.println(a);
//修改集合对象
arrayList.set(index, "hi");
//标量加一
index++;
}
//输出集合
System.out.println(arrayList);
}
}

结果:
hello
ninghao
bye
[hi, hi, hi]

删除集合元素:

import java.util.ArrayList;
import java.util.List;


public class TestA {

public static void main(String[] args){
//集合
List<String> arrayList=new ArrayList<String>();
//存放元素
arrayList.add("hello");
arrayList.add("ninghao");
arrayList.add("bye");
//集合标量
int index=0;
//遍历集合
for(String a:arrayList){
//输出集合对象
System.out.println(a);
//删除元素
arrayList.remove(index);

//标量加一
index++;
}
//输出集合
System.out.println(arrayList);
}
}
结果:
hello
Exception in thread "main" java.util.ConcurrentModificationException
at java.util.AbstractList$Itr.checkForComodification(AbstractList.java:372)
at java.util.AbstractList$Itr.next(AbstractList.java:343)
at app.TestA.main(TestA.java:19)

由以上例子可以看出,增强for循环,在循环里可以修改集合元素,但是不能删除集合元素。

热心网友 时间:2023-10-15 03:49

不能修改,a是引用,修改a的值只是让a指向其他的String对象,并没有改变list中的内容

热心网友 时间:2023-10-15 03:49

不能,不能修改,其他的比如:输出、累加可以。

热心网友 时间:2023-10-15 03:50

不可以,这个只是取出数据,并不能修改

热心网友 时间:2023-10-15 03:50

for循环可以修改对象内容  , 但是重新赋值无效 , 另外不可以删除和新增元素

集合或者数组中 , 存放的是对象的引用 , 而不是对本身 , 对于字符串来说 , 存的就是这个字符串, 而不是这个字符串对象 

如果你在循环中修改字符串, 其实是对字符串重新赋值 , 但是原本字符串的那个引用, 是没有发生改变的 , 所以修改没有用

如果你放的是一个对象 , 比如Person, 那么你可以在循环中对person这个对象中的属性进行修改 , 比如修改他的 age属性  , 但是不能重新赋值,  也就是不能用 p = new Person(); 代码不会报错 , 但是这个操作不会影响集合中这个元素的内容

另外 ,增强for循环其他地方都和普通for循环一样, 唯一的不同是 , 他不能获得集合的下标 , 也就是说不能对指定位置的元素进行处理 , 只能根据元素本身的属性进行一系列判断

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
长沙到西昌。坐火车先从长沙到成都、成都东,再到西昌,哪个方便一些 S先生与P先生谜题的题面 为什么首都设在襄阳 改姓可以不随父母性吗 韩艺瑟怎么改姓? 纸、墨、笔、砚是中国传统的文房四宝,墨的使用最早在 [ ] A.商代后期... 想问下创维光伏E企赢模式有哪些优势,到底值不值得投资啊?有没有合作... 太平洋太享e保百万医疗值得入手吗?每年花多少钱? 爱e满分适合哪些人买?注意哪些问题? 太平洋太享e保百万医疗适合哪些人买?价格多少? Java 普通for循环和增强for循环的优缺点 java增强型for 循环问题 yes we are going hello,are you good friends? 回答:a,yes i am b,no i don&#39;t c,yes we are d,we don&#39;t java增强for循环的语法结构 改下错句可以么大神~~ Is Daming and you Chinese, too? Are you friends? Yes, I am. java中什么是加强版的for循环? 5&quot;Are you____?” “Yes, we are____brothers.&quot; A.twin,twin? B.twins,twins C.twins,twin? D.twin,twins java中的增强for循环是什么? We are in the classroom.变成一般疑问句,并作肯定回答。 yes, we are all quarantined java 增强for循环为什么输出的是一串地址值? Yes,we are eating now.是答句、那要怎么问? yes,wearehome什么意思? 方宇虚拟仿真综合实训平台在哪交税 一般现在时中,一般疑问句怎么构成 yes we are,but we aretired are we playing? yes we are 安徽省虚拟仿真实验教学中心经费多少钱 Are you ___(teacher)?Yes,we are 撬的意思? 撬是什么意思了? 梦见丈夫把红石头给撬开了是什么意思? *检查把我的东西撬开这什么意思我要不要找*东西被撬烂 被撬了是什么意思 木雕工艺品的金漆木雕 漂亮的工艺品,怎么做到的进水之后木头的纹路还是这么好看? 木雕工艺品的湘南木雕 一个坚定的信念,诗是否能撬开一个冰冷的心门。这两句话是什么意思 找人怎么找 妹妹打开是什么意思 二手车讲价说打开是什么意思? 怎么通过找人而且是不认识的人? 微信怎么快速加熟人 如何通过找人 什么是图像的分辨率? 什么叫分辨率?什么叫分辨率精度,8位分辨率精度是什么意思?16位分辨率又是什么意思? 三星note3N9005刷机变砖用odin救砖出现应用程序错误 三星NOTE3N9008V用刷机精灵变砖,然后用ODIN进入挖煤模式救砖,电脑提示PASS note3刷机进入odin模式,出现红色的ODA START,然后就不动了,怎么回事?求大神解答,