猿问

简单java ArrayList add 问题

请各位大神看看下面的代码,
我想把生成的120个数组放到list当中
但是,后放入的替换了全面的所有数据
不明所以,望说明,谢谢。

package com.zhangxuan.platform.test;


慕少森
浏览 478回答 3
3回答

慕沐林林

看不懂你上面写的意思。但是数组传递的应该是地址,所以如果你新的数组不是通过new的出来的话会覆盖你原有数组的数据。在操作这两个数组之前clone一次就好了。public&nbsp;static&nbsp;void&nbsp;sort(int[]&nbsp;a,&nbsp;int[]&nbsp;b,&nbsp;int&nbsp;n,&nbsp;int&nbsp;c)&nbsp;{ [b]&nbsp;int[]&nbsp;aa&nbsp;=&nbsp;a.clone(); int[]&nbsp;bb&nbsp;=&nbsp;b.clone();[/b] if&nbsp;(c&nbsp;==&nbsp;n)&nbsp;{ [b]list.add(bb);[/b] return; }&nbsp;else&nbsp;{ for&nbsp;(int&nbsp;i&nbsp;=&nbsp;0;&nbsp;i&nbsp;<&nbsp;n;&nbsp;i++)&nbsp;{ boolean&nbsp;f&nbsp;=&nbsp;false; for&nbsp;(int&nbsp;j&nbsp;=&nbsp;0;&nbsp;j&nbsp;<&nbsp;c;&nbsp;j++)&nbsp;{ if&nbsp;([b]aa[i]&nbsp;==&nbsp;bb[j][/b])&nbsp;{ f&nbsp;=&nbsp;true; break; } } if&nbsp;(!f)&nbsp;{ [b]bb[c]&nbsp;=&nbsp;aa[i];[/b] [b]sort(aa,&nbsp;bb,&nbsp;n,&nbsp;c&nbsp;+&nbsp;1);[/b] } } } }

慕慕森

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

胡子哥哥

因为java是传引用的,所以你list里所有的数组都是同一个,
随时随地看视频慕课网APP

相关分类

Java
我要回答