关于集合

定义一个集合

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);
}

 

posted @ 2019-05-20 09:13  AluoKa  阅读(135)  评论(0编辑  收藏  举报