它只在插入链表中的最后一个矩阵

时间:2018-03-24 11:49:16

标签: java matrix linked-list add

我想在LinkedList中插入许多包含许多对象的矩阵,例如EmptyOther,但它只插入最后一个矩阵,请帮助

public LinkedList<Object[][]> addMatrices()
{
    LinkedList<Object[][]> l=new LinkedList<>();
    Object[][] o=new Object[2][2];
    o[0][0]=new Empty(2);
    o[0][1]=new Other();    
    o[1][0]=new Empty(4);
    o[1][1]=new Empty(6);
    l.add(o);
    o[0][0]=new Empty(4);
    o[0][1]=new Other();    
    o[1][0]=new Empty(5);
    o[1][1]=new Empty(1);
    l.add(o);
    for(Object[][] oo:l)
    {

        for(int x=0;x<oo.length;x++){
            for(int y=0;y<oo[x].length;y++)
                {System.out.print("\t"+oo[x][y]+" ");
            System.out.print("\t|");}
            System.out.println(System.lineSeparator());
        }
        System.out.println(System.lineSeparator());
    }
    return l;
}

输出:

4   |   -1  |

5   |   1   |


4   |   -1  |

5   |   1   |

它假设是这样的:

2   |   -1  |

4   |   6   |


4   |   -1  |

5   |   1   |

1 个答案:

答案 0 :(得分:0)

这是因为您的Object o是通过引用LinkedList l添加的。所以你实际上覆盖了第一个添加的对象,看起来好像只有最后一个被添加。

以这种方式尝试:

{{1}}