//向下取整
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
//堆 是一个火车 将内存中零散的空间组成一张链式表格
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);
}