在Java中克隆迭代器?
在游戏中,我有一个玩家列表,让我们这样说:
LinkedList<String> players = new LinkedList<String>();
我想让每个玩家与其他每个玩家进行交互,所以我写了两个嵌套循环:
Iterator<String> i1 = players.iterator();
while (i1.hasNext()) {
String p1 = i1.next();
Iterator<String> i2 = players.iterator();
// But I want to do this: Iterator<String> i2 = i1.clone();
while (i2.hasNext()) {
String p2 = i2.next();
System.out.println("Interact: " + p1 + ", " + p2);
}
}
由于我只希望每对玩家交互一次,因此我想在外循环的当前玩家之后与玩家开始内循环。所以我想克隆迭代器,但那不能编译。
那么,我该怎么办呢?