gpt4 book ai didi

Java ArrayList 填充

转载 作者:行者123 更新时间:2023-12-01 06:31:07 29 4
gpt4 key购买 nike

因此,我正在创建一种对一组数字进行洗牌的方法,其想法是创建这些数字的总体。因此,我创建了一个循环,对数字进行洗牌,然后将其添加到数组列表中,但是经过一些调试语句后,我发现它确实对数字进行洗牌,但只将最后一次洗牌添加到数组列表中。谁能帮我找出原因吗?

如果有人想知道,solutionList 是一个位于代码上方的数组列表

for(int k =0;k <100; k++){
Collections.shuffle(solutionList);
population2.add(new Object[]{solutionList}) ;
System.out.println("In the loop " + solutionList);

}

for(Object[] row : population2){
System.out.println("Row = " + Arrays.toString(row));
}

最佳答案

population2 的每个元素是一个引用相同 ArrayList 的数组。如果您想要不同的列表,则需要为每次迭代创建一个新列表。

例如,为了避免每次都用正确的数字填充列表,您可以直接随机播放 solutionList然后添加对副本的引用:

for (int k = 0; k < 100; k++) {
Collections.shuffle(solutionList);
List<Integer> copy = new ArrayList<Integer>(solutionList);
population2.add(new Object[]{ copy });
}

关于Java ArrayList 填充,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11193353/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com