我正在尝试使用 Collections.shuffle
混合链表的值,但每次这是应该显示和混合我的 Card 列表的代码时,我总是得到相同的顺序:
public Deck(int nbBox) {
this.cardList = new LinkedList<Card>();
Collections.shuffle(cardList);
for (int i = 0; i < nbBox; i++) {
for (Color col : Color.values()) {
for (Value val : Value.values()) {
cardList.add(new Card(val, col));
}
}
}
}
this.cardList = new LinkedList<Card>();
Collections.shuffle(cardList);
您正在洗牌一个空列表。
尝试将shuffle()
行移动到方法的末尾。
你应该先实现你的cardList,然后才能洗牌它
public Deck(int nbBox) {
this.cardList = new LinkedList<Card>();
for (int i = 0; i < nbBox; i++) {
for (Color col : Color.values()) {
for (Value val : Value.values()) {
cardList.add(new Card(val, col));
}
}
}
Collections.shuffle(cardList);
}