ArrayList的输出方式以及因子增长数
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(a->System.out.println(a));
//
// System.out.println("--------------------迭代器");
// //迭代器
// Iterator it = arr.iterator();
// while(it.hasNext()) {
// System.out.println(it.next());
// }
// ArrayList arr = new ArrayList(5);
// for (int i = 0; i < 30; 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());
}
}
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);
}