我实际上有一副 52 张牌,想知道如何将牌发给 4 手。 例如,如果这是一场真正的纸牌游戏,并且每个玩家都有一手牌,那么他们的手牌将有 52/4 (13) 张牌。
我已经创建了牌组和手牌类并生成了构造函数,以便它们正确初始化,但是我将如何使用迭代器依次将每张牌发给每手牌
我研究过迭代器,但找不到合适的应用程序
下面是牌组和手牌类的构造函数
private ArrayList<Card> deck;
public Deck() {
deck = new ArrayList<>(52);
for (int i = 0; i < 52; i++)
deck.add(new Card(value, suit);
}
<小时/>
private ArrayList<Card> hand;
public Hand() {
hand = new ArrayList<>();
}
最佳答案
我认为你不需要迭代。您可以使用subList
为此。
Collections.shuffle(deck);
List<Card> hand1 = deck.subList(0, 13);
List<Card> hand2 = deck.subList(13, 26);
List<Card> hand3 = deck.subList(26, 39);
List<Card> hand4 = deck.subList(39, 52);
这可以概括为返回 List<List<Card>>
的方法。带循环。
关于java - 如何使用迭代器从 1 个 ArrayList 对象创建 4 个 ArrayList 对象(对于每个对象),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27932099/