有一种Java集合,我的获取顺序是随机的吗?例如,我将整数1,2,3放入集合中,当我尝试打印它们时,所有结果都可以是“1 2 3”,“3 2 1”或“1 3 2”?
答案 0 :(得分:46)
如果您只想要一个随机序列,可以使用Collections.shuffle
List<Integer> list = new LinkedList();
//Add elements to list
Collections.shuffle(list);
答案 1 :(得分:5)
采取正常的收集并将其洗牌,然后以正常方式迭代它。
您可以使用java.util.Collections.shuffle(List<T>)
进行改组。
答案 2 :(得分:2)
只需shuffle集合。
如果集合必须保持顺序,您可以访问随机索引中的元素,但是您必须跟踪之前使用过的元素(可能,这取决于您的应用程序),以及这可能是非常低效的。一个更好的解决方案,如果记忆不是障碍,那就是制作副本并将其改组。
答案 3 :(得分:1)
不是我知道的。您始终可以将值放在列表中,并使用Collections.shuffle将值放入随机顺序。