黑马程序员技术交流社区

标题: 遍历数组有几种方法? [打印本页]

作者: Spring up    时间: 2012-10-15 00:17
标题: 遍历数组有几种方法?
遍历数组的几种方法求高手详细解答!谢谢!!!
作者: 汪小照    时间: 2012-10-15 00:47
主要是两种传统for循环和高级for循环,分别如下:
例如有一个数组:int[] arr = new int[]{1,2,3,4,5,6};

第一种传统的for循环:
for(int x=0;x<arr.length;x++)
  {
   System.out.println(arr[x]);
  }

第二种高级for循环:
for(int x:arr)
  {
   System.out.println(x);
  }

第三种使用反射的方式来遍历一个数组,传进来的是一个对象,需要判断是否为数组(仅供参考)
     public void printArrayElement(Object obj)
  {
   Class cls = obj.getClass();
   //判断传进来的是否为数组
   if(cls.isArray())
   {
               int len = Array.getLength(obj);//通过反射拿到数组的长度
      for(int x=0;x<len;x++)
    {
       System.out.println(Array.get(obj,x));
    }
   }
   else
    System.out.println("传进来的不是数组");
  }

作者: Spring up    时间: 2012-10-15 09:46
zczcyc0201 发表于 2012-10-15 08:35
char[] array = new char[]{'a','b','c','d','e'}

普通for循环

嗯,谢谢!这样就比较清晰了!!!
作者: 陈军    时间: 2012-10-15 14:28
方法主要就2个,
1, for循环(包括高级)
2,反射,Class类提供了isArray()判断Class对象是否是数组,
而且Array类提供了对数组的获取方法,用getLength()获取长度,get()方法用于获取具体的元素




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2