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);
    }

    谢谢观看!

  • 相关阅读:
    c# 与 winform 界面开发
    文件大小的友好输出及其 Python 实现
    bookhub -- 扁平化本地电子书管理与分享工具
    阶段性放弃 wxPython 前的总结
    数据挖掘环境下的个人信息安全
    精益阅读 -- 科技图书的阅读过程管理工具
    wxPython Modal Dialog 模式对话框
    wxPython 基本框架与运行原理 -- App 与 Frame
    JAVA向,二叉查找树
    线性表实践-选票算法
  • 原文地址:https://www.cnblogs.com/huangting/p/10893465.html
Copyright © 2011-2022 走看看