我有一个名为Cards的数组列表,它已经存储了52个Card对象。然后我重新排序并将Array List卡中的Card对象放入名为cardsShuffled的Array中。我现在正在尝试将cardsShuffled Array分配给卡列表列表,但它不会起作用。我已经尝试过我在网上找到的所有东西,似乎没什么用。有谁知道这样做的方法?
卡声明:
ArrayList <Card> cards = new ArrayList<Card>();
我尝试过的事情:
Collections.addAll(cards, cardsShuffled);
cards = Arrays.asList(cardsShuffled);
人们也建议做
ArrayList <Card> cards = new ArrayList<Card>(Arrays.asList(cardsShuffled));
但是,正如我预测的那样,因为已经声明了阵列列表卡,所以没有用。
更新
这是我的代码:
private void shuffle(){
Card cardsShuffled[] = new Card[52];
int insertIndex;
for(int k = 0; k < 52; k += 1){
//Random index to insert the card into
insertIndex = (int)(Math.random() * (51 - 0) + 0);
//Insert index k of cards array list into random index of cardsShuffled array
cardsShuffled[insertIndex] = cards.get(k);
}
//Set cards to the array of the shuffled array cardsShuffled
cards = new ArrayList<Card>(Arrays.asList(cardsShuffled));
}
答案 0 :(得分:1)
expiry_date (VARCHAR)
答案 1 :(得分:0)
如果我正确理解了问题,您需要将cards = new ArrayList<Card>(Arrays.asList(cardsShuffled));
列表转换为数组并将其分配给cards
。您可以使用cardsShuffled
方法,例如:
toArray
Here的cardsShuffled = cards.toArray(new Card[cards.size()]);
方法的javadoc。
<强>更新强>
如果您希望toArray
引用指向cards
数组,那么您可以使用cardsShuffled
类的asList
方法,例如:
Arrays
但是,通过这样做,您将丢失由cards = Arrays.asList(cardsShuffled);
引用的列表(即包含cards
和cards
元素的列表)。最好的方法是声明另一个引用并为其分配列表,例如:
cardsShuffled