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的容量相关推荐
- ArrayList的容量与长度
ArrayList有一个有参构造方法 public ArrayList(int initialCapacity) {if (initialCapacity > 0) {this.elementD ...
- java arraylist指定容量_Java中的ArrayList的容量
List接口的大小可变数组的实现.实现了全部可选列表操做,并容许包括 null 在内的全部元素. ArrayList继承于List接口,除继承过来的方法外,还提供一些方法来操做内部用来存储列表的数组的 ...
- 验证ArrayList插入同样数据使用指定容量和默认容量的效率
2019独角兽企业重金招聘Python工程师标准>>> 验证ArrayList插入同样数据使用指定容量和默认容量的效率 之前在研究ArrayList源码的时候看到过一篇文章Java ...
- 2017.4.16 ArrayList初始默认容量(长度)
版权声明:本文原创作者:一叶飘舟 作者博客地址:http://blog.csdn.net/jdsjlzx 每个ArrayList实例都有一个容量,该容量是指用来存储列表元素的数组的大小.它总是至少等于 ...
- java中Array和ArrayList区别
2019独角兽企业重金招聘Python工程师标准>>> 1)精辟阐述: 可以将 ArrayList想象成一种"会自动扩增容量的Array". 2)Array([] ...
- java new arraylist_Java中ArrayList用法详解
七.其他 1.publicvirtualintCapacity{get;set;} 获取或设置ArrayList可包含的元素数. 2.publicvirtualintCount{get;} 获取Arr ...
- java1.8 indexes_java1.8源码之ArrayList源码解读
文章目录 一.ArrayList概述1.1 ArrayList简介1.2 ArrayList数据结构 二.ArrayList源码分析2.1 ArrayList继承结构和层次关系2.2 类的属性2.3 ...
- arraylist 初始化_第一章 C#数据结构--数组和ArrayList
数组是最通用的数据结构,它出现在几乎所有的编程语言里.在 C#语言中使用数组包括创建 System.Array 类型的数组对象,以及创建针对所有数组的抽象的基类型.Array 类提供了一套方法,这些方 ...
- C#非泛型集合类-ArrayList数组集合类
ArrayList类可以视作是Array与Collection对象的结合,可以理解为Array的优化版本.该类既有数组的特征又有集合的特性,例如,既可以通过下标进行元素访问,对元素排序.搜索,又可以像 ...
最新文章
- 建立循环单链表(头插法)
- [T-ARA][HUE]
- C/S框架-WebService部署图
- shell中获取本机ip地址
- C#互操作性平台调用基础知识
- STM32F1笔记(九)通用定时器
- android calendarview 单月显示博客,android CalendarView
- 数据结构与算法(转)
- C++基础::mutable 关键字
- 发布自己的CocoaPods的步骤
- 电压放大倍数公式运放_三点出发,学习运算放大器不再“犯难”
- 奥维kml文件制作工具_如何将平面控制点导入Google Earth、奥维互动地图及手机奥维互动地图APP里面?...
- Eviews实现var模型
- Day8:盈利源泉是否可持续(1)
- k8s pod 污点
- RHCEansible静态主机清单
- 计算机无法检测更新失败怎么办,Windows更新错误解决方案
- 男人还是学点一技之长最靠谱
- Linux——磁盘分区与挂载
- Commit: Not all refs have been pushed.
热门文章
- LeetCode 1458. 两个子序列的最大点积(动态规划,类似编辑距离)
- C++类对象排序operator重载操作
- LeetCode 443. 压缩字符串(双指针)
- hal库开启中断关中断_STM32对HAL库的定时器中断
- afreecatv 回放下载_行车记录仪怎么看回放?行车记录仪停车后能自动录像吗
- Powerbi实战--常用新建表代码(单位切换,日期表)
- python展开 c函数中的宏预处理_C 语言常用的预处理-宏函数
- 论文浅尝 - ACL2020 | 用于多媒体事件提取的跨媒体结构化公共空间
- 论文浅尝 - ICLR2020 | Abductive Commonsense Reasoning
- CCKS 2019 | 百度 CTO 王海峰详解知识图谱与语义理解