日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) >

java foreach和for循环区别_java相关:老生常谈foreach(增强for循环)和for的区别

發(fā)布時(shí)間:2023/12/1 50 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java foreach和for循环区别_java相关:老生常谈foreach(增强for循环)和for的区别 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

java相關(guān):老生常談foreach(增強(qiáng)for循環(huán))和for的區(qū)別

發(fā)布于 2020-8-18|

復(fù)制鏈接

下面小妖就為大家?guī)?lái)一篇老生常談foreach(增強(qiáng)for循環(huán))和for的區(qū)別。小妖覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小妖過(guò)來(lái)看看吧

首先說(shuō)一下foreach有的也叫增強(qiáng)for循環(huán),foreach其實(shí)是for循環(huán)的一個(gè)特殊簡(jiǎn)化版。再說(shuō)一下foreach的書(shū)寫(xiě)格式:for(元素類(lèi)型? 元素名稱(chēng) : 遍歷數(shù)組(集合)(或者能進(jìn)行迭代的)){語(yǔ)句 }foreach雖然是for循環(huán)的簡(jiǎn)化版本,但是并不是說(shuō)foreach就比f(wàn)or更好用,foreach適用于循環(huán)次數(shù)未知,或者計(jì)算循環(huán)次數(shù)比較麻煩情況下使用效率更高,但是更為復(fù)雜的一些循環(huán)還是需要用到for循環(huán)效率更高。我們看看下面的例子:

```xhtml

public static void main(String[] args) {

List arr = new ArrayList();

arr.add("你好");

arr.add("我好");

arr.add("大家好");

//foreach循環(huán)

for(String str : arr){   //這里的str就是為了獲取每次循環(huán)的arr中的值

System.out.println(str);     //就相當(dāng)于 String str=arr[i]

}

}

```

但是相比較之下我們用for循環(huán)輸入就略顯麻煩

```xhtml

public static void main(String[] args) {

List arr = new ArrayList();

arr.add("你好");

arr.add("我好");

arr.add("大家好");

//for循環(huán)

for(int i=0;i除了這種普通的集合還可以對(duì)像map這種鍵值對(duì)使用例如:

```xhtml

public static void main(String[] args) {

Map mapstr = new HashMap();

mapstr.put("王", "男");

mapstr.put("李", "男");

mapstr.put("張", "女");

//entrySet方法是為了獲取鍵值對(duì)的集合

for(Map.Entry s : mapstr.entrySet()){ //這里的Map.Entry其實(shí)就是一個(gè)類(lèi)型 用來(lái)表示鍵值對(duì)的類(lèi)型

System.out.println("key="+s.getKey()); //這里其實(shí)還是相當(dāng)于 s=maostr.entrySet,只不過(guò)s存儲(chǔ)的是鍵值對(duì)。

System.out.println("value="+s.getValue()); //所以可以用get方法獲取出來(lái)存儲(chǔ)的鍵值對(duì)。

}

}

```

另外foreach不支持在循環(huán)中添加刪除操作,因?yàn)樵谑褂胒oreach循環(huán)的時(shí)候數(shù)組(集合)就已經(jīng)被鎖定不能被修改,否則會(huì)報(bào)出java.util.ConcurrentModificationException異常例如:

```xhtml

public static void main(String[] args) {

List arr = new ArrayList();

arr.add("你好");

arr.add("我好");

arr.add("大家好");

//foreach循環(huán)

for(String str : arr){

System.out.println(str);

arr.add("1"); //對(duì)arr進(jìn)行添加

}

}

```

創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎(jiǎng)勵(lì)來(lái)咯,堅(jiān)持創(chuàng)作打卡瓜分現(xiàn)金大獎(jiǎng)

總結(jié)

以上是生活随笔為你收集整理的java foreach和for循环区别_java相关:老生常谈foreach(增强for循环)和for的区别的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。