java - 如何洗牌一个集合?
问题描述
我知道Collections.shuffle()
,但是它需要一个List
. 我想改组 a Collection
。
Collection<Town> towns = getAllTowns();
最好的方法是什么?
解决方案
这实际上是不可能的 - Collection 抽象没有定义顺序,例如集合是 Collection,并且没有在集合上定义排序,因此对它们进行洗牌没有意义。
您应该将您的 Collection 转换为列表(如果它还不是列表),然后将其随机播放。另请参阅:如何将集合转换为列表?
推荐阅读
- flutter - 颤动的 StaggeredGridView 在条件下显示图块
- macos - macOS 下使用 pip install pytorch 失败
- amazon-web-services - AWS DynamoDB 与 AWS DocumentDB(新推出的服务)之间的区别?
- jquery - VisJS 网络未居中
- highcharts - Highcharts:从底部渲染条形图
- javascript - Angular 动态表单的问题
- kubernetes - 是否可以在单个网关中设置多个共享同一主机的 VirtualService?
- ruby-on-rails - 如何在活动记录查询下方进行优化,该查询不返回属于日期范围的记录
- java - 在 CompletableFuture 类中使用 join 方法与 get 方法
- java - 如何将嵌套的 XML 复杂元素转换为 Java 中的 Saxon.Sequence?