码迷,mamicode.com
首页 > 编程语言 > 详细

Arraylist的遍历方式、java反射机制

时间:2019-05-20 13:40:36      阅读:145      评论:0      收藏:0      [点我收藏+]

标签:throw   class   方法   syn   int   静态方法   sys   整数   stat   

  先定义ArrayList再添加几条数据:

       

ArrayList arr=new ArrayList();
    //往arrList中增加几条数据
    arr.add(1);
    arr.add(2);
    arr.add(3);
    arr.add(4);
    arr.add(5);
    arr.add(6);

 

 

      下标输出方式:

//下标输出方式 for循环
    for (int i = 0; i < arr.size(); i++) {
        //得到对象i中的值
        System.out.println(arr.get(i));
    }

   foreach的方式输出集合中的值:

for (Object o : arr) {
        System.out.println(o);
    }

      语法糖(Syntactic Sugar)的方式输出(需要在jdk1.8以上):

           //jdk.1.8语法糖的方式输出
        arr.forEach(x->System.out.println(x));

  迭代器的方式:

//迭代器方式
    Iterator iterator=arr.iterator();
    //while循环输出
    while (iterator.hasNext()) {
        System.out.println(iterator.next());
    }
    

  双向迭代器方式(注意:一定要先向下在向上读取,不然会出现向下读取不到数据的情况!):

ListIterator list =arr.listIterator();
    //向下读取
    while (list.hasNext()) {
        System.out.println(list.next());
    }
    //向上读取
    while (list.hasPrevious()) {
        System.out.println(list.previous());
    }

  java反射机制:

 

//向下取整
    //ArrayList默认的长度是10 当长度为10的时候,增长因子数位0.5倍,向下取整数
    for (int i = 0; i <20; i++) {
        print(arr); //调用的一个静态方法
        arr.add(i);//然后再添加循环对象
    }
}
static void print(ArrayList args) throws Exception{
    Class class1=args.getClass();
    Field elementData =class1.getDeclaredField("elementData");
    elementData.setAccessible(true);
    Object[] objects=(Object[]) elementData.get(args);
    System.out.println(objects.length);
}

 

谢谢观看!

 

Arraylist的遍历方式、java反射机制

标签:throw   class   方法   syn   int   静态方法   sys   整数   stat   

原文地址:https://www.cnblogs.com/huangting/p/10893465.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!