2014-12-01 36 views
0

我计划在android-Java上开发一个简单的纸牌游戏,在我的应用程序中,我洗牌,所以我想知道什么是最好的方式来存储我的卡阵列或堆栈的甲板..?堆栈唯一的问题是我不知道如何洗牌。改装一副牌 - 数组或堆叠?

+0

害羞不洗牌它作为一个阵列,然后使用数组初始化堆栈? – PaulProgrammer 2014-12-01 22:40:10

+0

小心洗牌。获得公平和安全的洗牌是非常棘手的(如果安全是必需的话)。例如,参见[Fisher-Yates shuffle](http://en.wikipedia.org/wiki/Fisher%E2%80%93Yates_shuffle)。 – jww 2014-12-01 22:53:29

+0

我会用数组 – 26hmkk 2014-12-02 02:30:09

回答

4

我相信这将做的伎俩的堆栈:

Stack<Card> deck = new Stack<>(); 
// add Card types to deck... 
Collections.shuffle(deck); 
+0

谢谢,它帮助了我! – Avi 2014-12-03 18:03:09

1

在Java中的堆栈是一个列表,这样你就可以调用Collections.shuffle,这需要在一个列表作为参数

堆栈甲板=新的堆栈();当准备洗牌时

堆栈延伸的矢量,其延伸AbstractList中并实现列表