zoukankan      html  css  js  c++  java
  • Arraylist的遍历方式、java反射机制

      先定义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);
    }

    谢谢观看!

  • 相关阅读:
    2018.12.30【NOIP提高组】模拟赛C组总结
    【NOIP2007提高组】矩阵取数游戏
    【NOIP2007提高组】字符串的展开
    【NOIP2007提高组】统计数字
    2018.12.22【NOIP提高组】模拟B组总结
    【NOIP2013模拟11.5A组】cza的蛋糕(cake)
    CDQ分治总结
    O(2),O(3),Ofast 手动开[吸氧]
    【NOIP2013模拟11.6A组】灵能矩阵(pylon)
    【GDKOI2012模拟02.01】数字
  • 原文地址:https://www.cnblogs.com/huangting/p/10893465.html
Copyright © 2011-2022 走看看