[英]Java - Iterate an ArrayList and Transferring the elements
我的程序创建了一副纸牌,并将它们全部分发给4只不同的手。 这是我的代码。 它创建了4只手,并将卡发给每个手。
Hand[] hands = new Hand[4];
for(int i=0; i<hands.length; i++){
hands[i] = new Hand();
}
for(int i=0; i<=Deck.size()+8; i++){
for(Hand hand : hands){
hand.addSingleCard(Deck.deal());
}
}
现在我有4张牌,每张牌有13张牌,我想在第一张牌上进行迭代,取出每张牌并将其添加到第二张牌中,这样第一张牌有0张牌,第二张牌有26张。实现此目的的最佳方法是什么?
我是自我学习的,因此,如果您使用的方法与其他人发布的方法不同,我仍然很乐意看到它:)
假设Hand将其卡保持在Collection<Card>
(例如, List<Card>
或Set<Card>
):
public void transferAllCardsToOtherHand(Hand hand) {
hand.cards.addAll(this.cards);
this.cards.clear();
}
假设您的Hand
类中的牌数据结构是数组或Collection
,则可以使用for-each循环。
static void transferCards (Hand from, Hand to) {
for (Card card : from.cards) {
to.addSingleCard(card);
}
from.cards.clear();
}
随意用代表您卡片的变量替换from.cards
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.