首页 > 解决方案 > 如何洗牌一个集合?

问题描述

我知道Collections.shuffle(),但是它需要一个List. 我想改组 a Collection

Collection<Town> towns = getAllTowns();

最好的方法是什么?

标签: javacollectionsshuffle

解决方案


这实际上是不可能的 - Collection 抽象没有定义顺序,例如集合是 Collection,并且没有在集合上定义排序,因此对它们进行洗牌没有意义。

您应该将您的 Collection 转换为列表(如果它还不是列表),然后将其随机播放。另请参阅:如何将集合转换为列表?


推荐阅读