//首先需要创建一个ArrayList
ArrayList arr=new ArrayList();
//然后往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"); arr.add("i");//下面是输出ArrayList的长度
System.out.println(arr.size());//下标的输出方式
for(int i=0;i<arr.size();i++) { System.out.println(arr.get(i)); }//foreach输出(jdk的版本必须>=jdk1.5)
for(Object o:arr) { System.out.println(o); }//jdk1.8的语法糖(JDK版本也必须是1.8的)
arr.forEach(a->System.out.println(a));//JDK1.8迭代器
Iterator it=arr.iterator(); while(it.hasNext()) { System.out.println(it.next()); }//arraylist 默认的长度是10 当长度为10的时候,增长因子数为0.5倍,向下取整数。
ArrayList arr=new ArrayList(输入ArrayList的长度(可不输入,默认为10));
for(int i=0;i<30;i++) { print(arr); arr.add(i); }ArrayList arr=new ArrayList();
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()); }//查看list源代码,arraylist源代码,使用反射查看属性
static void print(List arraylist)throws Exception { Class c=arraylist.getClass(); Field elementDataField=c.getDeclaredField("elementData"); elementDataField.setAccessible(true); Object[] arr=(Object[]) elementDataField.get(arraylist); System.out.println("elementData.length="+arr.length); }