Я создаю карточную игру и хотел бы перебирать все возможные комбинации карт.итерация по всем комбинациям карт
Например (Туз червей, Два Сердца), (Туз червей, два из Spades), (Туз червей, два из клубов) .... и т.д.
Я делаю это в Java
в настоящее время у меня есть это:
начать с меня
List<Card> deckOfCards = new ArrayList<Card>();
, который колода содержит все карты. Затем я создаю
Queue<Card> deckOfCardsWithoutDuplicates = new LinkedList<Card>();
deckOfCardsWithoutDuplicates = deckOfCards;
Теперь я хочу повторить все карты без дубликатов.
for (Card c : deckOfCards) {
deckOfCardsWithoutDuplicates.remove(c);
for (Card c1 : deckOfCardsWithoutDuplicates) {
//something here irrelevant
}
deckOfCardsWithoutDuplicates.add(c);
}
Однако я получаю java.util.ConcurrentModificationException
. Может ли кто-нибудь дать мне несколько советов о том, как это сделать лучше?
просто взять копию списка. итерации по основному списку с внешним циклом. итерации через список копий с внутренним циклом. вы не можете выполнять операции добавления-удаления в списке, который выполняется с помощью 'for'. –