
java foreach是什么?跟小編一起來解讀一下吧~
foreach語句是java5的新特征之一,在遍歷數組、集合方面,foreach為開發人員提供了極大的方便,foreach語句是for語句的特殊簡化版本,但是foreach語句并不能完全取代for語句,任何的foreach語句都可以改寫為for語句版本。
下面通過兩個例子簡單例子看看foreach是如何簡化編程的。代碼如下:
foreach簡化數組和集合的遍歷
import?java.util.Arrays;
import?java.util.List;
import?java.util.ArrayList;
/**
*?Created?by?IntelliJ?IDEA.
*?User:?leizhimin
*?Date:?2007-12-3
*?Time:?16:58:24
*?Java5新特征之foreach語句使用總結
*/
public?class?TestArray?{
????public?static?void?main(String?args[])?{
?????????TestArray?test?=?new?TestArray();
?????????test.test1();
?????????test.listToArray();
?????????test.testArray3();
?????}
????/**
?????*?foreach語句輸出一維數組
?????*/
????public?void?test1()?{
????????//定義并初始化一個數組
????????int?arr[]?=?{2,?3,?1};
?????????System.out.println("----1----排序前的一維數組");
????????for?(int?x?:?arr)?{
?????????????System.out.println(x);?//逐個輸出數組元素的值
?????????}
????????//對數組排序
?????????Arrays.sort(arr);
????????//利用java新特性for?each循環輸出數組
?????????System.out.println("----1----排序后的一維數組");
????????for?(int?x?:?arr)?{
?????????????System.out.println(x);?//逐個輸出數組元素的值
?????????}
?????}
????/**
?????*?集合轉換為一維數組
?????*/
????public?void?listToArray()?{
????????//創建List并添加元素
?????????List?list?=?new?ArrayList();
?????????list.add("1");
?????????list.add("3");
?????????list.add("4");
????????//利用froeach語句輸出集合元素
?????????System.out.println("----2----froeach語句輸出集合元素");
????????for?(String?x?:?list)?{
?????????????System.out.println(x);
?????????}
????????//將ArrayList轉換為數組
?????????Object?s[]?=?list.toArray();
????????//利用froeach語句輸出集合元素
?????????System.out.println("----2----froeach語句輸出集合轉換而來的數組元素");
????????for?(Object?x?:?s)?{
?????????????System.out.println(x.toString());?//逐個輸出數組元素的值
?????????}
?????}
????/**
?????*?foreach輸出二維數組測試
?????*/
????public?void?testArray2()?{
????????int?arr2[][]?=?{{4,?3},?{1,?2}};
?????????System.out.println("----3----foreach輸出二維數組測試");
????????for?(int?x[]?:?arr2)?{
????????????for?(int?e?:?x)?{
?????????????????System.out.println(e);?//逐個輸出數組元素的值
?????????????}
?????????}
?????}
????/**
?????*?foreach輸出三維數組
?????*/
????public?void?testArray3()?{
????????int?arr[][][]?=?{
?????????????????{{1,?2},?{3,?4}},
?????????????????{{5,?6},?{7,?8}}
?????????};
?????????System.out.println("----4----foreach輸出三維數組測試");
????????for?(int[][]?a2?:?arr)?{
????????????for?(int[]?a1?:?a2)?{
????????????????for?(int?x?:?a1)?{
?????????????????????System.out.println(x);
?????????????????}
?????????????}
?????????}
?????}
} 運行結果:
----1----排序前的一維數組 2 3 1 ----1----排序后的一維數組 1 2 3 ----2----froeach語句輸出集合元素 1 3 4 ----2----froeach語句輸出集合轉換而來的數組元素 1 3 4 ----4----foreach輸出三維數組測試 1 2 3 4 5 6 7 8 Process?finished?with?exit?code?0

以上就是小編今天的分享了,希望可以幫助到大家。
