问题描述
我有两个数组,mArray 和 wArray,它们由 ArrayLists mList 和 wList 组成。当我运行这个 for 循环时,这些值是随机的,每个值都会打印出不同的值。如果我在 for 循环中运行打印命令,它会打印出具有不同值的每个数组。但是,当我退出 for 循环并尝试打印这些值时,数组中的所有值都显示相同的值。这是一个问题,因为我需要能够在数组中存储新的随机值。是什么导致这种情况发生?
ArrayList<Person> mList = new ArrayList<>(n + 1);
ArrayList<Person> wList = new ArrayList<>(n + 1);
ArrayList<Person>[] mArray = new ArrayList[n + 1];
ArrayList<Person>[] wArray = new ArrayList[n + 1];
for (int temp = 1; temp <= n; temp++) {
int i = temp;
Collections.shuffle(mList);
Collections.shuffle(wList);
mArray[i] = mList;
wArray[i] = wList;
// Here when I print each array has different,// randomized values which is what I want
System.out.print(mArray[i]);
System.out.println();
}
// Here is where all the values printed
// are the same for each array
System.out.println(mArray[1]);
System.out.println(mArray[2]);
System.out.println(mArray[3]);
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)