从arraylist取消同步数组

用户2683631

作为一个基本的例子

    int[] B;
    B=new int[4];
    B[0]=4;
    B[1]=3;
    B[2]=2;
    B[3]=1;
    ArrayList<int[]> C = new ArrayList<int[]>();
    C.add(B);
    B[0]=3;
    B[1]=2;
    B[2]=4;
    B[3]=1;
    C.add(B);

我有一个添加到列表中的基本数组,我在循环中更改数组B的值,我想将循环中的每个新B添加到C中,但是C自动与B同步,这阻止了我添加一个新的B。我需要添加一个新的B的原因是为了跟踪循环的进度并防止重复。

当前C与新B的大小始终为1。

流氓

而是保存数组的副本:

C.add(Arrays.copyOf(B, B.length)); //or System#arraycopy

Java是按引用传递值的,因此数组是按引用传递的,因此不会复制自身。

您应该尝试遵循通用的样式指南(例如Oracle / Google变量命名约定)。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章