public class War {
public static void main(String args[])
{
ArrayList<Integer> deck = new ArrayList<>(List.of(2, 2, 2, 2, 3, 3, 3, 3, 4, 4, 4, 4, 5,
5, 5, 5, 6, 6, 6, 6, 7, 7, 7, 7, 8, 8, 8, 8, 9, 9, 9, 9, 10, 10, 10, 10, 11, 11, 11, 11,
12, 12, 12, 12, 13, 13, 13, 13, 14, 14, 14, 14));
// Creates a deck and shuffles it
Collections.shuffle(deck);
System.out.println(deck);
ArrayList<Integer> player1 = new ArrayList<>();
ArrayList<Integer> player2 = new ArrayList<>();
System.out.println(player2);
System.out.println(player1);
}
}这是我的牌战游戏,我想把牌排在两半(两个名单),然后能够使用这两个名单作为两名球员的牌。
发布于 2022-01-06 06:31:39
您可以使用subList
List<Integer> deck1 = deck.subList(0,deck.size()/2);
List<Integer> deck2 = deck.subList(deck.size()/2,deck.size ());请注意,这些是原始List的视图,因此这些子llsts中的更改将反映在原始List中。
如果你想避免这样做,你可以复制:
List<Integer> deck1 = new ArrayList<>(deck.subList(0,deck.size()/2));
List<Integer> deck2 = new ArrayList<>(deck.subList(deck.size()/2,deck.size ()));或者,正如Basil所评论的,如果您希望列表是不可变的,请使用:
List<Integer> deck1 = List.of(deck.subList(0,deck.size()/2));
List<Integer> deck2 = List.of(deck.subList(deck.size()/2,deck.size ()));https://stackoverflow.com/questions/70603319
复制相似问题