В игре у меня есть список игроков, скажем так:
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);
}
}
Поскольку я хочу, чтобы каждая пара игроков взаимодействовала только один раз, я хочу начать внутренний цикл с игроком после текущего игрока внешнего цикла. Итак, я хочу клонировать итератор, но он не компилируется.
Итак, что мне делать вместо этого?