如何复制数组或arraylist

时间:2015-08-08 08:29:37

标签: java arrays arraylist copy

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

 [self addConstraint:[NSLayoutConstraint constraintWithItem:_avatarImage
                                                         attribute:NSLayoutAttributeHeight
                                                         relatedBy:NSLayoutRelationEqual
                                                            toItem:nil
                                                         attribute:NSLayoutAttributeNotAnAttribute
                                                        multiplier:1.f
                                                          constant:heightResizer(100.0)]];

}

输出:

0123456789 0123456789 012341006789 012341006789 `

2 个答案:

答案 0 :(得分:1)

实现起来很简单,如果我们选择Arraylist,那么我们在示例代码中也会得到两个选项,如直接和间接的。您可以在复制arraylist后编辑对象。它不会影响第一个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

答案 1 :(得分:0)

试试这个:

List<String>baraca=new ArrayList<>();
        List<String>temp=new ArrayList<>();

        baraca.add("messi 1");
        baraca.add("messi 2");
        baraca.add("messi 3");
        baraca.add("messi 4");
        temp= new ArrayList<String>(baraca);

        temp.add("messi temp");

        System.out.println(baraca);
        System.out.println(temp);

输出:

[messi 1, messi 2, messi 3, messi 4]
[messi 1, messi 2, messi 3, messi 4, messi temp]