Arraylist的遍历方式java反射机制
Posted huangting
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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); }
谢谢观看!
以上是关于Arraylist的遍历方式java反射机制的主要内容,如果未能解决你的问题,请参考以下文章