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

谢谢观看!

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

时间: 2024-08-30 10:52:34

Arraylist的遍历方式、java反射机制的相关文章

Java反射机制(创建Class对象的三种方式)

1:SUN提供的反射机制的类: java.lang.Class<T> java.lang.reflect.Constructor<T> java.lang.reflect.Field java.lang.reflect.Method java.lang.reflect.Modifier 2:什么是反射 JAVA反射机制是在运行状态中,对于任意一个类.都能都知道这个类的所有属性和方法,对于任意一个对象,都能够调用它的任意一个方法和属性:这种动态获取的信息以及动态调用对象的方法的功能称

java反射机制概述

一.反射 1.概述: JAVA反射机制是在运行状态中,对于任意一个类,都能够创建该类对象,调用这个类的所有属性和方法包括构造方法: 2.字节码文件 1)概述: 类加载器负责将.class文件加载到内在中,并为之生成对应的Class对象 2)字节码文件对象的三种获取方式 A:Object类的getClass()方法 B:所有类包括基本数据类型的静态属性class 如:int.class; String.class C:Class类中静态方法forName(String className) //参

Java反射机制大神必学系列之 ,高级与低级的差别在哪里?

Java反射机制大神必学系列之 ,高级与低级的差别在哪里?java学习爱好者 2019-05-20 19:08前言今天介绍下Java的反射机制,以前我们获取一个类的实例都是使用new一个实例出来.那样太low了,今天跟我一起来学习学习一种更加高大上的方式来实现. 正文Java反射机制定义 Java反射机制是指在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法:对于任意一个对象,都能够调用它的任意一个方法和属性:这种动态获取的信息以及动态调用对象的方法的功能称为java语言的反射机制.

工厂类分离与java反射机制

网易 博客 发现 小组 风格 手机博客 玩LOFTER,免费冲印20张照片!> 创建博客登录 加关注 黙言-在路上 奋斗 首页 日志 相册 音乐 收藏 博友 关于我 黙言 加博友   关注他 他的网易微博 最新日志 Javascript 操作select控件 Oracle 存储过程基本语法 将域名和tomcat6进行绑定的 svn 423 Locked JS的trim()方法 jbpm4.4 结束流程时报错 随机阅读 让员工每年有一次机会当主角 外国女性如何舍身"套"色狼 亚洲电

Java 反射机制(一)

Java 反射机制 基本概念 在Java运行时环境中,对于任意一个类,能否知道这个类有哪些属性和方法?对于任意一个对象,能否调用它的任意一个方法? 答案是肯定的. 这种动态获取类的信息以及动态调用对象的方法的功能来自于Java语言的反射(Reflection)机制. Java反射机制主要提供了以下功能: 1.在运行时判断任意一个对象所属的类. 2.在运行时构造任意一个类的对象. 3.在运行时判断任意一个类所具有的成员变量和方法. 4.在运行时调用任意一个对象的方法. Reflection是Jav

Java反射机制Class类的用法详解

本文转自http://blog.sina.com.cn/s/blog_6c9536b90100rqh4.html,感谢作者 java的Class类是java反射机制的基础,通过Class类我们可以获得关于一个类的相关信息,下面我们来了解一下有关java中Class类的相关知识! java.lang.Class是一个比较特殊的类,它用于封装被装入到JVM中的类(包括类和接口)的信息. 当一个类或接口被装入的JVM时便会产生一个与之关联的java.lang.Class对象,可以通过这个Class对象

java反射机制(转)

一.什么是反射机制         简单的来说,反射机制指的是程序在运行时能够获取自身的信息.在java中,只要给定类的名字,     那么就可以通过反射机制来获得类的所有信息. 二.哪里用到反射机制         有些时候,我们用过一些知识,但是并不知道它的专业术语是什么,在刚刚学jdbc时用过一行代码,     Class.forName("com.mysql.jdbc.Driver.class").newInstance();但是那时候只知道那行代码是生成     驱动对象实例

Java反射机制1

一.什么是反射机制         简单的来说,反射机制指的是程序在运行时能够获取自身的信息.在java中,只要给定类的名字,     那么就可以通过反射机制来获得类的所有信息. 二.哪里用到反射机制         有些时候,我们用过一些知识,但是并不知道它的专业术语是什么,在刚刚学jdbc时用过一行代码,     Class.forName("com.mysql.jdbc.Driver.class").newInstance();但是那时候只知道那行代码是生成     驱动对象实例

转!!java反射机制

Java 反射机制 基本概念 在Java运行时环境中,对于任意一个类,能否知道这个类有哪些属性和方法?对于任意一个对象,能否调用它的任意一个方法? 答案是肯定的. 这种动态获取类的信息以及动态调用对象的方法的功能来自于Java语言的反射(Reflection)机制. Java反射机制主要提供了以下功能: 1.在运行时判断任意一个对象所属的类. 2.在运行时构造任意一个类的对象. 3.在运行时判断任意一个类所具有的成员变量和方法. 4.在运行时调用任意一个对象的方法. Reflection是Jav