foreach

本文详细介绍了Java中foreach语句的使用方法,包括其语法格式、如何简化数组和集合的遍历过程,并通过具体示例展示了foreach语句在不同维度数组上的应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

foreach语句java5的新特性之一,在遍历数组、集合方面,foreach为开发人员提供了极大的方便。foreach语句是for语句的特殊简化版本,但是foreach语句并不能完全取代for语句,然而,任何的foreach语句都可以改写为for语句版本。

foreach并不是一个关键字,习惯上将这种特殊的for语句格式称之为“foreach”语句。从英文字面意思理解foreach也就是”for每一个的意思。实际上也就是这个意思。

foreach的语句格式:

for(元素类型t 元素变量x : 遍历对象obj)

{

   引用了xjava语句;

}

一、foreach简化数组和集合的遍历 
下面通过两个例子简单例子看看foreach是如何简化编程的。代码如下:

1 import java.util.Arrays;  

 2 import java.util.List;  

 3 import java.util.ArrayList;  

12 public class TestArray {  

13     public static void main(String args[]) {  

14          TestArray test = new TestArray();  

15          test.test1();  

16          test.listToArray(); 

            test.testArray2();

17          test.testArray3();  

19      }  

22     //foreach语句输出一维数组   

24     public void test1() {  

25         //定义并初始化一个数组  

26         int arr[] = {2, 3, 1};  

27          System.out.println("----1----排序前的一维数组");  

28         for (int x : arr) {  

29              System.out.println(x); //逐个输出数组元素的值  

30          }  

32         //对数组排序  

33          Arrays.sort(arr);  

35         //利用java新特性for each循环输出数组  

36          System.out.println("----1----排序后的一维数组");  

37         for (int x : arr) {  

38              System.out.println(x); //逐个输出数组元素的值  

39          }  

40      }  

// 集合转换为一维数组 

45     public void listToArray() {   

46         //创建List并添加元素  

47          List list = new ArrayList();  

48          list.add("1");  

49          list.add("3");  

50          list.add("4");  

52         //利用froeach语句输出集合元素  

53          System.out.println("----2----froeach语句输出集合元素");  

54         for (String x : list) {  

55              System.out.println(x);  

56          }  

58         //ArrayList转换为数组  

59          Object s[] = list.toArray();  

61         //利用froeach语句输出集合元素  

62      System.out.println("----2----froeach语句输出集合转换而来的数组元素");  

63         for (Object x : s) {  

64              System.out.println(x.toString()); //逐个输出数组元素的值  

65          }  

66      }  

69     // foreach输出二维数组测试 

71     public void testArray2() {  

72         int arr2[][] = {{4, 3}, {1, 2}};  

73          System.out.println("----3----foreach输出二维数组测试");  

74         for (int x[] : arr2) {  

75             for (int e : x) {  

76                  System.out.println(e); //逐个输出数组元素的值  

77              }  

78          }  

79      }  

//foreach输出三维数组 

84     public void testArray3() {  

85         int arr[][][] = {  

86                  {{1, 2}, {3, 4}},  

87                  {{5, 6}, {7, 8}}  

88          };    

90          System.out.println("----4----foreach输出三维数组测试");  

91         for (int[][] a2 : arr) {  

92             for (int[] a1 : a2) {  

93                 for (int x : a1) {  

94                      System.out.println(x);  

95                  }  

96              }  

97          }  

98      }  

99 } 

运行结果如下:

----1----排序前的一维数组
2
3
1
----1----排序后的一维数组
1
2
3
----2----foreach语句输出集合元素
1
3
4
----2----foreach语句输出集合转换而来的数组元素
1
3
4
----4----foreach输出三维数组测试
1
2
3
4
5
6
7
8

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值