如何洗牌一个集合?

How to shuffle a Collection?

我知道 Collections.shuffle(),但它需要一个 List。我想改为随机播放 Collection

Collection<Town> towns = getAllTowns();

最好的方法是什么?

Collections 不一定要重新排序,例如 Set。因此,您不能随机播放任意 Collection.

这真的不可能 - Collection 抽象没有定义顺序,例如集合是 Collection,并且没有在集合上定义顺序,因此打乱它们没有意义.

您应该将 Collection 转换为列表(如果它还不是列表),然后将其随机播放。另见:How to convert a Collection to List?