new ArrayList()和new ArrayList(int initialCapacity)区别
来源:互联网 发布:手机翻拍照片软件 编辑:程序博客网 时间:2024/05/19 07:42
如果像上面这样使用默认的构造方法,初始容量被设置为10。当ArrayList中的元素超过10个以后,会重新分配内存空间,使数组的大小增长到16
一旦容量发生变化,就要带来额外的内存开销,和时间上的开销。
所以,在已经知道容量大小的情况下,推荐使用下面方式进行声明:
List arrayList = new ArrayList(CAPACITY_SIZE);
即指定默认容量大小的方式。
注意 16 是这样得来的:
public void ensureCapacity(int minCapacity) {modCount++;int oldCapacity = elementData.length;if (minCapacity > oldCapacity) { Object oldData[] = elementData; int newCapacity = (oldCapacity * 3)/2 + 1; if (newCapacity < minCapacity)newCapacity = minCapacity; // minCapacity is usually close to size, so this is a win: elementData = Arrays.copyOf(elementData, newCapacity);} }
一旦容量发生变化,就要带来额外的内存开销,和时间上的开销。
所以,在已经知道容量大小的情况下,推荐使用下面方式进行声明:
List arrayList = new ArrayList(CAPACITY_SIZE);
即指定默认容量大小的方式。
- new ArrayList()和new ArrayList(int initialCapacity)区别
- List list = new ArrayList();和ArrayList list=new ArrayList();的区别
- List list = new ArrayList();和ArrayList list=new ArrayList();的区别
- ArrayList list = new ArrayList() 和List<String> list = new ArrayList<String>() 的区别?
- List list = new ArrayList();和ArrayList list=new ArrayList();的区别
- List list = new ArrayList();和ArrayList list=new ArrayList();的区别
- List list = new ArrayList();和ArrayList list=new ArrayList();的区别
- List list = new ArrayList();和ArrayList list=new ArrayList();的区别
- List list = new ArrayList();和ArrayList list=new ArrayList();的区别?
- ArrayList list = new ArrayList(); & ArrayList list = new ArrayList(); 区别
- List lst = new ArrayList();与ArrayList lst = new ArrayList();区别
- List l=new ArrayList()和Arraylist l=new ArrayList()有什么不同啊
- new ArrayList、subList和Arrays.asList浅析
- Collection<String>n=new ArrayList<String>()与List<String>n=new ArrayList()的区别
- ArrayList list = new ArrayList(15)
- ArrayList<Integer> arr=new ArrayList<Integer>
- c++学习之new int()和new int[]的区别
- c++学习之new int()和new int[]的区别
- adroid单元测试
- 向量的性质
- DetachedCriteria用法
- Eclipse中SVN插件的官方链接
- SQL Sever服务启动不了的解决方案
- new ArrayList()和new ArrayList(int initialCapacity)区别
- 骑车与走路 (一未用动态数组)
- DataRow执行Delete函数有时会删除行,有时会不删除行而标记行为删除标记的原因
- 如何改变路由器的登录管理地址【mfxp】
- APK安装过程及原理详解
- Ubuntu 12.10 下进行NDK 编译出错解决
- LINUX运维笔试题目
- 交通卡口监控车辆抓捕嫌疑车解决方案
- COM 和注册表