gpt4 book ai didi

java - 如何复制数组或数组列表

转载 作者:行者123 更新时间:2023-12-02 04:28:06 24 4
gpt4 key购买 nike

认为有一个名为barca[]的数组。该数组有玩家列表。玩家被确定为类(Class)。例如 barca[0]=messi; Messi 是一个球员类别。我想复制巴萨[]。如果我写 barca2[]=barca[]; 我复制数组,但是当 barca2[] 更改时 barca[] 也会更改。我希望他们独立。我能怎么做?`公共(public)类主要{

public static void main(String[] args) {
// TODO Auto-generated method stub
Player barca[] = new Player[10];
Player barca2[] = new Player[10];
for(int i=0; i<10; i++){
barca[i] = new Player();
barca[i].id = i;
}
barca2 = barca;

//print the arrays
for(int i = 0; i<10; i++){
System.out.print(barca[i].id);
}
System.out.println();
for(int i = 0; i<10; i++){
System.out.print(barca2[i].id);
}

//change an array
barca2[5].id=100;
System.out.println();

//print the arrays
for(int i = 0; i<10; i++){
System.out.print(barca[i].id);
}
System.out.println();
for(int i = 0; i<10; i++){
System.out.print(barca2[i].id);
}

}

}

输出:

01234567890123456789012341006789012341006789`

最佳答案

实现起来很简单,如果我们使用 Arraylist,那么我们还会得到示例代码中列出的两个选项,直接和间接。您可以在复制数组列表后编辑该对象。它不会影响第一个数组列表。请检查完整代码以完全理解。

//1. Direct: Copy player list into player1 List
List<Player> player1 = new ArrayList<Player>(player);

//2. Indirect using method: Copy player list into player1 List
List<Player> player1 = new ArrayList<Player>();
player1.addAll(player);

您可能会看到完整的代码here 。您可以测试代码here .

关于java - 如何复制数组或数组列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31891210/

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