gpt4 book ai didi

java - 为什么 List 中的元素会自行修改?

转载 作者:行者123 更新时间:2023-12-05 08:11:05 24 4
gpt4 key购买 nike

<分区>

我想将数组的不同数组元素组合(排列)转换为列表。我通过 for 循环交换数组的第一个和最后一个元素,并将组合(排列)添加到列表中。然后交换第二个和最后一个元素之前的元素并将其添加到列表中,依此类推。假设数组是 arr[1,2,3,4,5,6,7],添加到 List 的第一个元素将是 arr[7,2,3,4, 5,6,1]。第二个元素是 arr[7,6,3,4,5,2,1]。但我最终得到的是列表中所有元素的类似 arr[7,6,5,4,3,2,1]

问题是添加到List中的元素也随着当前数组的修改而相应修改。我最终在列表中得到了类似的数组元素。我想要的是具有不同元素组合的不同排列或数组。你能帮我解决这个问题吗?

private List<Gate[]> generateSolutions(Gate[] solution) {
List<Gate[]> sList= new ArrayList<>();
int i, j;
for (i = 0, j = solution.length - 1; i < solution.length / 2; i++, j--) {
Gate temp;
temp = solution[i];
solution[i] = solution[j];
solution[j] = temp;
sList.add(solution);
}
return sList;
}

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