java程序中foreach用法示例
語法
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ì)于集合類型和數(shù)組類型的,我們都可以通過foreach語法來訪問它。上面的例子中,以前我們要依次訪問數(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)單的語句即可:
for (String b : belle)
{
System.out.println("曾經(jīng)的青史留名:" + b);
}
對(duì)集合的訪問效果更明顯。以前我們?cè)L問集合的代碼:
for (Iterator it = c.iterator(); it.hasNext();)
{
String name = (String) it.next();
System.out.println("曾經(jīng)的風(fēng)化絕代:" + name);
}
現(xiàn)在我們只需下面的語句:
for (String b : c)
{
System.out.println("曾經(jīng)的風(fēng)化絕代:" + b);
}
Foreach也不是萬能的,它也有以下的缺點(diǎn):
在以前的代碼中,我們可以通過Iterator執(zhí)行remove操作。
for (Iterator it = c.iterator(); it.hasNext();)
{
itremove()
}
但是,在現(xiàn)在的foreach版中,我們無法刪除集合包含的對(duì)象。你也不能替換對(duì)象。
同時(shí),你也不能并行的foreach多個(gè)集合。所以,在我們編寫代碼時(shí),還得看情況而使用它。
相關(guān)文章
關(guān)于json序列化(javaBean轉(zhuǎn)Json的細(xì)節(jié)處理)
這篇文章主要介紹了關(guān)于json序列化(javaBean轉(zhuǎn)Json的細(xì)節(jié)處理),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。2022-03-03java中double類型運(yùn)算結(jié)果異常的解決方法
下面小編就為大家?guī)硪黄猨ava中double類型運(yùn)算結(jié)果異常的解決方法。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2016-12-12Spring BPP中如何優(yōu)雅的創(chuàng)建動(dòng)態(tài)代理Bean詳解
這篇文章主要給大家介紹了關(guān)于Spring BPP中如何優(yōu)雅的創(chuàng)建動(dòng)態(tài)代理Bean的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧2019-03-03Java 動(dòng)態(tài)模擬操作系統(tǒng)進(jìn)程調(diào)度算法
這篇文章主要介紹了采用java語言編程模擬N個(gè)進(jìn)程采用動(dòng)態(tài)高優(yōu)先權(quán)優(yōu)先進(jìn)程調(diào)度算法。文中代碼具有一定的學(xué)習(xí)價(jià)值,感興趣的小伙伴可以了解一下2021-12-12SpringBoot整合RocketMQ實(shí)現(xiàn)消息發(fā)送和接收的詳細(xì)步驟
這篇文章主要介紹了SpringBoot整合RocketMQ實(shí)現(xiàn)消息發(fā)送和接收功能,我們使用主流的SpringBoot框架整合RocketMQ來講解,使用方便快捷,本文分步驟給大家介紹的非常詳細(xì),需要的朋友可以參考下2021-08-08