Java-如何使用以前已知的元素重新填充arraylist

Java-如何使用以前已知的元素重新填充arraylist,java,Java,我有一个由四个元素填充的arraylist,它们的顺序是随机的(它们是从另一个arraylist中随机放置的)。然后我有一个重复10次的for循环,在每次重复结束时,我使用clear方法清除arraylist的所有元素。但是,当我开始一个新的重复时,我想用在上一次重复中作为列表成员的旧(以前使用过的)元素重新填充arraylist,以便我可以再次使用这些元素。我想重复这一点,直到我退出我的10次重复循环。有什么办法可以做到这一点吗 代码除了我的问题: ArrayList<String&g

我有一个由四个元素填充的arraylist,它们的顺序是随机的(它们是从另一个arraylist中随机放置的)。然后我有一个重复10次的for循环,在每次重复结束时,我使用clear方法清除arraylist的所有元素。但是,当我开始一个新的重复时,我想用在上一次重复中作为列表成员的旧(以前使用过的)元素重新填充arraylist,以便我可以再次使用这些元素。我想重复这一点,直到我退出我的10次重复循环。有什么办法可以做到这一点吗

代码除了我的问题:

 ArrayList<String> answerPegs =  new  ArrayList<String>();
  // add element to ArrayList

    ArrayList<String> mySecretAnswer = new ArrayList<String>();

    for (int n = 4; n > 0; n--) 
    {       
         //populate mySecretAnswer with elements from answerPegs
    }


    ArrayList<String> clone1 = mySecretAnswer;

    for (int q = 0; q < 10; q++) { 

        for (o = 0; o < 4; o++)
        {
         }
      // called clear() method here

    } // END OF 10-ROW LOOP
ArrayList answerPegs=new ArrayList();
//将元素添加到ArrayList
ArrayList mySecretAnswer=新的ArrayList();
对于(int n=4;n>0;n--)
{       
//使用answerPegs中的元素填充mySecretAnswer
}
ArrayList clone1=我的秘密答案;
对于(intq=0;q<10;q++){
对于(o=0;o<4;o++)
{
}
//这里调用了clear()方法
}//10行循环的结束

您是否可以使用两个嵌套的循环,将内部循环作为for循环10次,然后在末尾清除一次

我建议只保留两个列表-保留原始列表的原始副本,然后迭代+清除该列表的副本

public void doRepetitions(List<Object> original)
{
    for( int i=0; i<10; i++ )
    {
        List<Object> working = new ArrayList<Object>( original );
        doStuffWithList(working);
    }
}
然后将其移动到for循环中:

for (int q = 0; q < 10; q++)
{ 
    ArrayList<String> clone1 = new ArrayList<String>(mySecretAnswer);
    // ....
}
for(int q=0;q<10;q++)
{ 
ArrayList克隆1=新的ArrayList(mySecretAnswer);
// ....
}

除了@beerbajay的评论,为什么不删除clear()调用呢?因为我是编程大师,我的方法是替换已经与空字符串比较过的颜色,这样它们就不会被再次检查(当然不是一种非常有效的方法)。因此,在最后,原始arraylist的任何一部分都被空字符串部分替换,我无法再次使用它,或者我必须自己手动清除列表。为什么不保存最初从源列表插入的标记?
for (int q = 0; q < 10; q++)
{ 
    ArrayList<String> clone1 = new ArrayList<String>(mySecretAnswer);
    // ....
}