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