贵州省遵义市建设局网站,建个网站视频教程,天津制作网站公司,比较开放的浏览器java相关#xff1a;老生常谈foreach(增强for循环)和for的区别发布于 2020-8-18|复制链接下面小妖就为大家带来一篇老生常谈foreach(增强for循环)和for的区别。小妖觉得挺不错的#xff0c;现在就分享给大家#xff0c;也给大家做个参考。一起跟随小妖过来看看吧首先说一下f…java相关老生常谈foreach(增强for循环)和for的区别发布于 2020-8-18|复制链接下面小妖就为大家带来一篇老生常谈foreach(增强for循环)和for的区别。小妖觉得挺不错的现在就分享给大家也给大家做个参考。一起跟随小妖过来看看吧首先说一下foreach有的也叫增强for循环foreach其实是for循环的一个特殊简化版。再说一下foreach的书写格式for(元素类型 元素名称 遍历数组(集合)(或者能进行迭代的)){语句 }foreach虽然是for循环的简化版本但是并不是说foreach就比for更好用foreach适用于循环次数未知或者计算循环次数比较麻烦情况下使用效率更高但是更为复杂的一些循环还是需要用到for循环效率更高。我们看看下面的例子xhtmlpublic static void main(String[] args) {List arr new ArrayList();arr.add(你好);arr.add(我好);arr.add(大家好);//foreach循环for(String str : arr){ //这里的str就是为了获取每次循环的arr中的值System.out.println(str); //就相当于 String strarr[i]}}但是相比较之下我们用for循环输入就略显麻烦xhtmlpublic static void main(String[] args) {List arr new ArrayList();arr.add(你好);arr.add(我好);arr.add(大家好);//for循环for(int i0;i除了这种普通的集合还可以对像map这种键值对使用例如xhtmlpublic static void main(String[] args) {Map mapstr new HashMap();mapstr.put(王, 男);mapstr.put(李, 男);mapstr.put(张, 女);//entrySet方法是为了获取键值对的集合for(Map.Entry s : mapstr.entrySet()){ //这里的Map.Entry其实就是一个类型 用来表示键值对的类型System.out.println(keys.getKey()); //这里其实还是相当于 smaostr.entrySet只不过s存储的是键值对。System.out.println(values.getValue()); //所以可以用get方法获取出来存储的键值对。}}另外foreach不支持在循环中添加删除操作因为在使用foreach循环的时候数组(集合)就已经被锁定不能被修改否则会报出java.util.ConcurrentModificationException异常例如xhtmlpublic static void main(String[] args) {List arr new ArrayList();arr.add(你好);arr.add(我好);arr.add(大家好);//foreach循环for(String str : arr){System.out.println(str);arr.add(1); //对arr进行添加}}