为了账号安全,请及时绑定邮箱和手机立即绑定

简单java ArrayList add 问题

简单java ArrayList add 问题

慕少森 2019-03-14 14:15:53
请各位大神看看下面的代码,我想把生成的120个数组放到list当中但是,后放入的替换了全面的所有数据不明所以,望说明,谢谢。 package com.zhangxuan.platform.test;
查看完整描述

3 回答

?
慕沐林林

TA贡献2016条经验 获得超9个赞

看不懂你上面写的意思。但是数组传递的应该是地址,所以如果你新的数组不是通过new的出来的话会覆盖你原有数组的数据。在操作这两个数组之前clone一次就好了。

public static void sort(int[] a, int[] b, int n, int c) {
[b] int[] aa = a.clone();
int[] bb = b.clone();[/b]
if (c == n) {
[b]list.add(bb);[/b]
return;
} else {
for (int i = 0; i < n; i++) {
boolean f = false;
for (int j = 0; j < c; j++) {
if ([b]aa[i] == bb[j][/b]) {
f = true;
break;
}
}
if (!f) {
[b]bb[c] = aa[i];[/b]
[b]sort(aa, bb, n, c + 1);[/b]
}
}
}
}


查看完整回答
反对 回复 2019-04-26
?
慕慕森

TA贡献1856条经验 获得超17个赞

上面的改不鸟了, [code="java"][b][/b][/code]这个括起来的是我改动的部分。


查看完整回答
反对 回复 2019-04-26
?
胡子哥哥

TA贡献1825条经验 获得超6个赞

因为java是传引用的,所以你list里所有的数组都是同一个,


查看完整回答
反对 回复 2019-04-26
  • 3 回答
  • 0 关注
  • 477 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号