ArrayList的容量
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的容量不會自動減小
總結
以上是生活随笔為你收集整理的ArrayList的容量的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 库存商品表html源码,JSP+Serv
- 下一篇: 计算机组成原理笔记——存储器分类、层次结