ArrayList当容量放不下元素时,容量会自动扩大
那么如果把元素移除,容量会自动减小吗?
package zhousai;
import java.lang.reflect.Field;
 import java.util.ArrayList;
 import java.util.List;
public class test {
 public static void main(String[] args)
 {
     List<Integer> list = new ArrayList<Integer>();
     int i;
     System.out.println(getArrayListCapacity(list));
     for(i=0;i<10;i++)
     {
         list.add(i);
     }
     System.out.println(getArrayListCapacity(list));
     for(i=0;i<10;i++)
     {
         list.remove(0);
     }
     System.out.println(getArrayListCapacity(list));
 }
 public static int getArrayListCapacity(List<?> arrayList) {
     Class<ArrayList> arrayListClass = ArrayList.class;
     try {
         Field field = arrayListClass.getDeclaredField("elementData");
         field.setAccessible(true);
         Object[] objects = (Object[])field.get(arrayList);
        return objects.length;
     } catch (NoSuchFieldException e) {
         e.printStackTrace();
         return -1;
     } catch (IllegalAccessException e) {
         e.printStackTrace();
         return -1;
     }
 }
 }
 输出结果为:
0
10
10
所以,移除元素时,ArrayList的容量不会自动减小