中易网

java中怎么实现可变数组

答案:5  悬赏:50  
解决时间 2021-04-28 05:34
java中怎么实现可变数组
最佳答案
java中的数组是不可变的,所以要实现可变数组是不可能的了。如果非要改变数组的长度,那么也只能重新开辟一个新的数组然后将长度设定为想要的,然后放弃原来的数组,当然这个放弃的数组,如果没有被引用,它会很快就被GC掉。
java中有一个方法:System.arraycopy
通常我们都使用的是Arrays.copyOf,但你去看API就知道,其实Arrays.copyOf调用的也正是System.arraycopy

1
2
3
4
5
6
publicstaticint[] copyOf(int[] original, intnewLength) {
        int[] copy = newint[newLength];
        System.arraycopy(original, 0, copy, 0,
                         Math.min(original.length, newLength));
        returncopy;
    }
全部回答
使用集合,list,set都可以
java中有集合,直接使用list就可以了
java 动态数组一般使用 vector 或 arraylist。 vector v = new vector(); v.add("123"); v.add("456"); 自适应长度变化。
将数组长度设置为可变就行了 例如: int a=0; //a值改变后数组长度变化 int[] array=new int[a];
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
QQ邮箱的文件中转删错了有什么办法弄回吗!
初一的英语选择题,急!(写出怎么做的)例如
中国最大的酒吧在那里?
为什么我玩CF,进游戏一开始玩的好好的,每次
未成年人是否可以贷款
请问下现在有什么治胃疼的特效药吗?
在CAD中标注公差会出现一个框,怎么去掉?
异地跨行公对公电汇需要多久?
青岛迎宾馆南门地址在什么地方,想过去办事
对于文科不爱背,理科学不好的同学,还有哪类
魔兽世界总是最小化该怎么办?
显示卡更新出现了错误
纷影连环踢最后的那一拳怎么放不出啊
有关i3的一些问题
谁有美少女战士的变身音乐?
推荐资讯
诺基亚到底哪款功能是比较好的,而且价钱也便
QQ三国那些事情是可以领到奖励的
请问有没有讨论福彩的团队
桌面上的这个图标能删吗?
求英语高手帮忙翻译(关于饮食)
怎样修改centos6.5系统的ssh登陆端口号
诺基亚性价比最高的手机是什么 价格在2000以
DNF55粉光那些区有
求水树奈奈的《乐醉山茶》链接 要是mp3格式的
凯莎西饼屋在哪里啊,我有事要去这个地方
哪里能买到隐形变色眼镜?
审题:日光倾城
手机登qq时,显示手机磁盘不足,清理后重新登
刺客的套装怎么选啊?