可以收藏.洗牌被认为等同于一系列随机



下面这个问题:在地图中变换数字并选择一个。

假设您需要从一个List中随机选择一系列整数。一个Collections.shuffle可以被认为等同于重复使用Random#nextInt吗?

我不熟悉洗牌是如何实现的,从数学的角度来看,它们是否可以被视为真正等价的(排列)。下面的链接确实强调了使用单个Random对象的重要性。

http://www.javapractices.com/topic/TopicAction.do?Id=62

p。S:我知道Collections.shuffle增加了一个操作,它实际上是重新组织内容。这是我感兴趣的结果。

编辑:在Java's Collections上发现了这个问题,详细说明了shuffle方法是使用所谓的Fisher-Yates shuffle:Shuffle在做什么?

如果你问使用Collections.shuffle然后使用随机排序数字的结果列表是否等同于使用Random逐个挑选它们,答案是否定的。后者很可能会返回相同的索引两次,这将导致重复。

最新更新