package com.zking.j2ee;
import java.lang.reflect.Field;
import java.util.ArrayList;import java.util.Iterator;import java.util.List;import java.util.ListIterator;public class Temp { public static void main(String[] args) throws Exception { // //ArrayList 默认的长度是10 当长度为10的时候,增长因子数为0.5倍,向下取整数// ArrayList arr =new ArrayList();// arr.add("a");// arr.add("b");// arr.add("c");// arr.add("d");// arr.add("e");// arr.add("f");// arr.add("g");// arr.add("h");// System.out.println(arr.size());// System.out.println("--------下标输出方式");// //下标输出方式// for (int i = 0; i < arr.size(); i++) { // System.out.println(arr.get(i));// }// System.out.println("--------foreach输出(>=jdk1.5)");// //foreach输出(>=jdk1.5)// //集合中的元素// for (Object o : arr) { // System.out.println(o);// }// System.out.println("--------jdk1.8的语法糖");// //jdk1.8的语法糖// arr.forEach(x->System.out.println(x));//// System.out.println("--------迭代器");// //迭代器// Iterator it=arr.iterator();// while(it.hasNext()) { // System.out.println(it.next());// }// ArrayList arr=new ArrayList();// for (int i = 0; i < 20; i++) { // print(arr);// arr.add(i);// } ArrayList arr=new ArrayList(5); arr.add("a"); arr.add("b"); arr.add("c"); arr.add("d"); arr.add("e"); ListIterator list=arr.listIterator(); System.out.println("-----向下读取"); //向下的读取 while(list.hasNext()) { System.out.println(list.next()); } System.out.println("-----向上的读取"); //向上的读取 while(list.hasPrevious()) { System.out.println(list.previous()); } //栈:是一个车厢3M //堆:是一个火车 将内存中的零散的空间组成的一张链式表格 //实现自定义的栈 mystack } static void print(ArrayList arrayList) throws Exception{ Class c=arrayList.getClass(); Field elementData =c.getDeclaredField("elementData"); elementData.setAccessible(true); Object[] objects=(Object[]) elementData.get(arrayList); System.out.println(objects.length); }}