List接口
1.特点:有序、对象可以重复
2.遍历方式
ArrayList arr=new ArrayList();
arr.add("a");
arr.add("b");
arr.add("c");
arr.add("d");
arr.add("e");
* (1)下标
for(int i=0;i<arr.size();i++) {
System.out.println(arr.get(i));
}
* (2)foreach(jdk>=1.5)
for (Object o : arr) {
System.out.println(o);
}
* (3)迭代器
Iterator it=arr.iterator();
while(it.hasNext()) {
System.out.println(it.next());
}
*(4)jdk1.8语法糖
arr.forEach(x->System.out.println(x));
//使用反射查看属性
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);
}
//ArrayList默认长度是10 增长因子数是0.5,向下取整数