首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2SE开发 >

JAVA中可不可以重新设定数组大小

2011-12-24 
JAVA中可否重新设定数组大小?原已经分配了一定大小的数组,但后来发现不够用,我想扩大一下数组大小,用java

JAVA中可否重新设定数组大小?
原已经分配了一定大小的数组,但后来发现不够用,我想扩大一下数组大小,用java能不能实现?怎样实现?比如:
Object[]   s=new   Objcet[10];
我想扩大到20个怎样实现?
先谢谢了.

[解决办法]
用ARRAYLIST不就可以了吗?
[解决办法]
请用System.arrayCopy来完成该任务.速度很快.
[解决办法]
int index = 10;//index的作用域必须是整个类
Object[] s=new Objcet[index];
假如你要装20个对象,就这样
if (i > = index) {
index *= 2;
Object[] o = new Object[index];
for(int i = 0; i < s.length; i++)
o[i] = s[i];
}
s[i] = ss;
i++;
}
这样数组就可以扩大很多倍
[解决办法]
楼上的说得太对了!
数组的话每次都存在一个初期化大小的问题
而list的话就不需要
[解决办法]
更正,经过多次测试,arraycopy比我的方法快了约50毫秒,那还是用arraycopy好,代码如下
if (i > = index) {
index *= 2;
Object[] o = new Object[index];
System.arraycopy(s, 0, o, 0,s.length);
s[i] = ss;
i++;
}
不过用ArrayList方便些,省的写这么多

热点排行