首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >是否有可能将整数数组分成两个独立的数组?

是否有可能将整数数组分成两个独立的数组?
EN

Stack Overflow用户
提问于 2022-01-06 06:28:34
回答 1查看 61关注 0票数 0
代码语言:javascript
复制
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);  
    }    
}

这是我的牌战游戏,我想把牌排在两半(两个名单),然后能够使用这两个名单作为两名球员的牌。

EN

回答 1

Stack Overflow用户

发布于 2022-01-06 06:31:39

您可以使用subList

代码语言:javascript
复制
List<Integer> deck1 = deck.subList(0,deck.size()/2);
List<Integer> deck2 = deck.subList(deck.size()/2,deck.size ());

请注意,这些是原始List的视图,因此这些子llsts中的更改将反映在原始List中。

如果你想避免这样做,你可以复制:

代码语言:javascript
复制
List<Integer> deck1 = new ArrayList<>(deck.subList(0,deck.size()/2));
List<Integer> deck2 = new ArrayList<>(deck.subList(deck.size()/2,deck.size ()));

或者,正如Basil所评论的,如果您希望列表是不可变的,请使用:

代码语言:javascript
复制
List<Integer> deck1 = List.of(deck.subList(0,deck.size()/2));
List<Integer> deck2 = List.of(deck.subList(deck.size()/2,deck.size ()));
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70603319

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档