有关类变量数组大小的改变

[复制链接]
查看11 | 回复5 | 2011-2-2 18:51:49 | 显示全部楼层 |阅读模式
直接重新new想要的大小就可以,比如kao = new String[20][30];原来数组所占的空间会自动被垃圾回收掉,不用你操心。如果你想保留原来的内容,不妨看下System.arraycopy函数的用法,复制之后让kao指向新的数组,再释放原来的空间。实际上java的许多非链式容器类也是用这种办法实现增长的,比如你对一个ArrayList执行插入操作,容器中的数组达到最大容量时就重新开辟空间。Object data[10] 如果已经满了,那么Object newData = new Object[20];System.arrayCopy(data,0,newData,0,data.length);data = new...
回复

使用道具 举报

千问 | 2011-2-2 18:51:49 | 显示全部楼层
int **a;// 全局量,动态数组int main(){//动态数组单元分配a=new int [m];for (int i=0;i<m;i++){a=new int[n];...};。。。return 0;}...
回复

使用道具 举报

千问 | 2011-2-2 18:51:49 | 显示全部楼层
在java中数组是当作对象来看待的,所以像这样的写法是正确的:int [] arr1 = new int [10];int [] arr2 = new int [20];arr1 = arr2;之后arr1就变成一个长度为20的数组了.同样的,在你的程序里完全可以这样写.kao = new String [100][20];...
回复

使用道具 举报

千问 | 2011-2-2 18:51:49 | 显示全部楼层
java的数组不可随意调整大小,要么新建一个,把旧数据复制过去,要么可以用List代替List lst = new ArrayList();lst.add(new String[20]);...
回复

使用道具 举报

千问 | 2011-2-2 18:51:49 | 显示全部楼层
太难了。。。。...
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行