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++; } 这样数组就可以扩大很多倍
更正一下,应该是这样 if (i >= index) { index *= 2; Object[] object = new Object[index]; for(int i = 0; i < s.length; i++){ object[i] = s[i]; } s = object; } s[i] = ss; i++; }
更正,经过多次测试,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方便些,省的写这么多
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++;
}
这样数组就可以扩大很多倍
if (i >= index) {
index *= 2;
Object[] object = new Object[index];
for(int i = 0; i < s.length; i++){
object[i] = s[i];
}
s = object;
}
s[i] = ss;
i++;
}
数组的话每次都存在一个初期化大小的问题
而list的话就不需要
if (i >= index) {
index *= 2;
Object[] o = new Object[index];
System.arraycopy(s, 0, o, 0,s.length);
s[i] = ss;
i++;
}
不过用ArrayList方便些,省的写这么多