假设我有这部分代码。而且我有输出。
allValues:[[0,1,2,3,4,5,6,7,8,9,10],[]]。
当我使listOfValues2 clear()时。我希望只清除该列表,而不影响allValues列表中的值。我该怎么做?
我需要这样做,因为稍后我将生成具有另一个数据集的另一个listOfValues2,并将其作为第三个列表放入allValues中。

     LinkedList<Integer> listOfValues1 = new LinkedList<Integer>();
     LinkedList<Integer> listOfValues2 = new LinkedList<Integer>();
     LinkedList<LinkedList<Integer>> allValues=
     new LinkedList<LinkedList<Integer>>();

     for(int w=0; w<=10; w++) {
        listOfValues1.add(w);
     }

     for(int b=5; b<=15; b++) {
        listOfValues2.add(b);
     }

     allValues.add(listOfValues1);
     allValues.add(listOfValues2);
     listOfValues2.clear();
     System.out.println("allValues: " + allValues);

最佳答案

我需要这样做,因为稍后我将生成具有另一个数据集的另一个listOfValues2,并将其作为第三个列表放入AllValues中。


然后不要清除listOfValues2。稍后创建新的LinkedList并将其分配给listOfValues2变量。您对原始listOfValues2所做的任何更改也将在allValues中进行,因为listOfValues2allValues的第二个元素共享对对象列表的相同引用。

关于java - LinkedList清除方法,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/19784119/

10-10 08:55