如何在Java中混洗对象数组

时间:2014-06-25 14:36:55

标签: java arrays shuffle

我想用Java实现一个扑克游戏。所以我制作了一个卡类并创建了52个卡片对象并将它们放入一个数组中。这个阵列是卡片组。

我如何随机洗牌这个对象数组?是否有内置方法或任何其他方式?

3 个答案:

答案 0 :(得分:4)

改为使用ArrayList并使用Collections.shuffle()

Collections.shuffle(yourListInstance);

答案 1 :(得分:0)

Collections.shuffle不够好:

  

使用默认的随机源随机置换指定的列表。所有排列都以大致相等的可能性发生。   对冲"大约"在前面的描述中使用了“随机性”,因为默认的随机性源仅是大约独立选择的比特的无偏源。如果它是随机选择位的完美来源,那么算法将选择具有完美均匀性的排列。

你需要一个随机源,产生一个在1到52之间均匀分布的数字! (含)。

答案 2 :(得分:0)

我已将“top answer”中的Random shuffling of an array修改为适用于<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <h1 class="hallo">Hallo</h1> Set the display value <input type="text" name="prop" class="prop"> <br><br> <button class="hide" type="submit">jQuery hide()</button> <button class="show" type="submit">jQuery show()</button> <button class="css" type="submit">jQuery css()</button>个对象的数组。我只是更改了Cardint[] arCard[] arint a = ar[index]

Card a = ar[index]