我对下面的说法有的问题:
如果元素的数目超出了内部数组目前的长度它们都需要扩展内部数组的长度,
List是原来的50%,所以最后你获得的这个集合所占的空间总是比你实际需要的要大。如果, 我要是 增加List是原来的50% 可以修改我 增加List是原来的70% 这样的方法或别的什么不?
如果元素的数目超出了内部数组目前的长度它们都需要扩展内部数组的长度,
List是原来的50%,所以最后你获得的这个集合所占的空间总是比你实际需要的要大。如果, 我要是 增加List是原来的50% 可以修改我 增加List是原来的70% 这样的方法或别的什么不?
解决方案 »
- 客户端调用webservice是出现以下错误
- 不会写正则表达式的人真悲催
- 开发ESB需要什么技术
- hibernate 多对多 级联删除问题
- struts的tiles标签中,如何使用中文?
- 着急:urlrewrite+IIS下映射中文目录名乱码,求解!
- 请问哪位高人能向我推荐几本关于spring,struct,hibernate源代码分析或技术内幕的书,谢谢
- 关于jbos4.0.3sp1的问题
- 用Java语言,正则表达式删除文本中(不是Html中)的网址?也就是过滤掉网址!
- 关于struts中的<html:button>标签的value值显示文字支持国际化的问题
- 欢迎北京本地朋友参加免费的webservice公开课 http://www.shengsiyuan.com/pages/webservice.html
- myeclipse8.5无法注册问题。系统是WIN7家庭版
/**
* Increases the capacity of this <tt>ArrayList</tt> instance, if
* necessary, to ensure that it can hold at least the number of elements
* specified by the minimum capacity argument.
*
* @param minCapacity the desired minimum capacity
*/
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);
}
}
这个是它底层实现的扩容算法,API中没有提供修改的方法。
不就可以了