关于集合
定义一个集合
ArrayList arr=new ArrayList();
arr.add("a");
arr.add("b");
arr.add("c");
arr.add("d");
arr.add("e");
arr.add("f");
输出集合的大小长度:
System.out.println(arr.size());
下标输出方式:
for(int i=0;i<arr.size();i++) {
System.out.println(arr.get(i));
}
foreach输出(>=jdk.1.5):
for(Object o:arr) {
System.out.println(o);
}
jdk1.8的语法糖:
arr.forEach(a->System.out.println(a));
迭代器:
Iterator it= arr.iterator();
while(it.hasNext()) {
System.out.println(it.next());
}
注:需要先读取向下在读取向上的数据 反之向下无法读取出来:
向下读取数据:
ListIterator list=arr.listIterator();
while(list.hasNext()) {
System.out.println(list.next());
}
向上读取数据:
while(list.hasPrevious()) {
System.out.println(list.previous());
}
ArrayList 默认的长度是10 当长度为10的时候,增长因子数为0.5倍,向下取整数
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);
}