java程序中foreach用法示例
語(yǔ)法
for (Object objectname : preArrayList(一個(gè)Object對(duì)象的列表)) {}
示例
package com.kuaff.jdk5;
import java.util.*;
import java.util.Collection;
public class Foreach
{
private Collection c = null;
private String[] belle = new String[4];
public Foreach()
{
belle[0] = "西施";
belle[1] = "王昭君";
belle[2] = "貂禪";
belle[3] = "楊貴妃";
c = Arrays.asList(belle);
}
public void testCollection()
{
for (String b : c)
{
System.out.println("曾經(jīng)的風(fēng)化絕代:" + b);
}
}
public void testArray()
{
for (String b : belle)
{
System.out.println("曾經(jīng)的青史留名:" + b);
}
}
public static void main(String[] args)
{
Foreach each = new Foreach();
each.testCollection();
each.testArray();
}
}
對(duì)于集合類(lèi)型和數(shù)組類(lèi)型的,我們都可以通過(guò)foreach語(yǔ)法來(lái)訪(fǎng)問(wèn)它。上面的例子中,以前我們要依次訪(fǎng)問(wèn)數(shù)組,挺麻煩:
for (int i = 0; i < belle.length; i++)
{
String b = belle[i];
System.out.println("曾經(jīng)的風(fēng)化絕代:" + b);
}
現(xiàn)在只需下面簡(jiǎn)單的語(yǔ)句即可:
for (String b : belle)
{
System.out.println("曾經(jīng)的青史留名:" + b);
}
對(duì)集合的訪(fǎng)問(wèn)效果更明顯。以前我們?cè)L問(wèn)集合的代碼:
for (Iterator it = c.iterator(); it.hasNext();)
{
String name = (String) it.next();
System.out.println("曾經(jīng)的風(fēng)化絕代:" + name);
}
現(xiàn)在我們只需下面的語(yǔ)句:
for (String b : c)
{
System.out.println("曾經(jīng)的風(fēng)化絕代:" + b);
}
Foreach也不是萬(wàn)能的,它也有以下的缺點(diǎn):
在以前的代碼中,我們可以通過(guò)Iterator執(zhí)行remove操作。
for (Iterator it = c.iterator(); it.hasNext();)
{
itremove()
}
但是,在現(xiàn)在的foreach版中,我們無(wú)法刪除集合包含的對(duì)象。你也不能替換對(duì)象。
同時(shí),你也不能并行的foreach多個(gè)集合。所以,在我們編寫(xiě)代碼時(shí),還得看情況而使用它。
相關(guān)文章
spring boot使用thymeleaf為模板的基本步驟介紹
Spring Boot項(xiàng)目的默認(rèn)模板引擎是Thymeleaf,這沒(méi)什么好說(shuō)的,個(gè)人覺(jué)得也非常好,下面這篇文章主要給大家介紹了關(guān)于spring boot使用thymeleaf為模板的相關(guān)資料,需要的朋友可以參考借鑒,下面來(lái)一起學(xué)習(xí)學(xué)習(xí)吧。2018-01-01
SpringBoot中@ConditionalOnBean實(shí)現(xiàn)原理解讀
這篇文章主要介紹了SpringBoot中@ConditionalOnBean實(shí)現(xiàn)原理,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-02-02
Spring注解@Resource和@Autowired區(qū)別對(duì)比詳解
這篇文章主要介紹了Spring注解@Resource和@Autowired區(qū)別對(duì)比詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2019-09-09
利用MyBatis實(shí)現(xiàn)條件查詢(xún)的方法匯總
這篇文章主要給大家介紹了關(guān)于利用MyBatis實(shí)現(xiàn)條件查詢(xún)的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者使用MyBatis具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-08-08
MyBatis XML去除多余AND|OR前綴或逗號(hào)等后綴的操作
這篇文章主要介紹了MyBatis XML去除多余AND|OR前綴或逗號(hào)等后綴的操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2021-02-02
springboot配置文件中使用${}注入值的兩種方式小結(jié)
這篇文章主要介紹了springboot配置文件中使用${}注入值的兩種方式小結(jié),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-03-03

