Клонировать итератор в 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);
    }
}

Поскольку я хочу, чтобы каждая пара игроков взаимодействовала только один раз, я хочу начать внутренний цикл с игроком после текущего игрока внешнего цикла. Итак, я хочу клонировать итератор, но он не компилируется.

Итак, что мне делать вместо этого?

15
задан Thomas Padron-McCarthy 17 May 2016 в 06:14
поделиться