如何从 ArrayList.subList 获取一个 ArrayList?

Ada*_*c23 3 java arraylist sublist

我有一副牌的数组列表 1-52 并且它们被洗牌,我想基本上将牌分为两半索引(0,25)和(26,51)以处理两个玩家。但是我只看到说使用 List<> 的响应,尽管我希望让每个玩家的牌组都有一个数组列表,以免干扰其他已经创建的方法。有没有办法让两个玩家的牌组都作为数组列表?

import java.util.ArrayList;
import java.util.Collections;
public class Methods {
    public static ArrayList<Integer> deck =  new ArrayList<Integer>();
    public static ArrayList<Integer> deckPlayerOne =  new ArrayList<Integer>();
    public static ArrayList<Integer> deckPLayerTwo =  new ArrayList<Integer>();
    public static ArrayList<Integer> generateDeck(){
        for(int i=1; i<53; i++){
             deck.add(i);
        }
        return deck;
    }

    public static ArrayList<Integer> shuffle(){
        Collections.shuffle(deck);
        return deck;
    }

    public static void splitDeck(){
        // deckPlayerOne = deck.subList(0, 25); <---- location of error
    }

    public static ArrayList<Integer> playerOneDeck(){

        }

    }

    public static ArrayList<Integer> platerTwoDeck(){

    }
}
Run Code Online (Sandbox Code Playgroud)

mor*_*ano 9

也许我不明白你的问题,但如果你想把一个 ArrayList 分成另外两个,你可以使用这个:

    ArrayList myArrayList = new ArrayList();
    ArrayList part1 = new ArrayList(myArrayList.subList(0, 25));
    ArrayList part2 = new ArrayList(myArrayList.subList(26, 51));
Run Code Online (Sandbox Code Playgroud)

那是你要的吗?