首頁 >Java >java教程 >java程式中foreach用法範例

java程式中foreach用法範例

高洛峰
高洛峰原創
2017-01-21 15:55:251568瀏覽

語法

for (Object objectname : preArrayList(一个Object对象的列表)) {}

範例

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("曾经的风化绝代:" + b);
}
}
public void testArray()
{
for (String b : belle)
{
  System.out.println("曾经的青史留名:" + b);
}
}
public static void main(String[] args)
{
Foreach each = new Foreach();
   each.testCollection();
each.testArray();
}
}

對於集合類型和陣列類型的,我們都可以透過foreach語法來存取它。上面的例子中,以前我們要依次訪問數組,挺麻煩:

for (int i = 0; i < belle.length; i++)
{
String b = belle[i];
System.out.println("曾经的风化绝代:" + b);
}

現在只需下面簡單的語句即可:

for (String b : belle)
{
   System.out.println("曾经的青史留名:" + b);
 }

對集合的訪問效果更明顯。以前我們訪問集合的程式碼:

for (Iterator it = c.iterator(); it.hasNext();)
{
String name = (String) it.next();
System.out.println("曾经的风化绝代:" + name);
}

現在我們只需下面的語句:

for (String b : c)
{
System.out.println("曾经的风化绝代:" + b);
}

Foreach也不是萬能的,它也有以下的缺點:

在以前的程式碼中,我們可以透過Iterator執行remove操作。

for (Iterator it = c.iterator(); it.hasNext();)
{
   itremove()
}

但是,在現在的foreach版中,我們無法刪除集合包含的物件。你也不能替換物件。

同時,你也不能並行的foreach多個集合。所以,當我們寫程式碼時,還得看情況而使用它。

更多java程式中foreach用法範例相關文章請關注PHP中文網!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn