1
我需要从随机顺序中获取集合中的所有元素。我找到了一些解决方案,但是我想找到最好的和最快的解决方案。 Collections.shuffle有没有类似的东西?以随机顺序从集合中获取所有元素
我需要从随机顺序中获取集合中的所有元素。我找到了一些解决方案,但是我想找到最好的和最快的解决方案。 Collections.shuffle有没有类似的东西?以随机顺序从集合中获取所有元素
没有直接的类比,因为集合上没有顺序,所以混洗没有集合的语义。如果你想多次获得不同顺序的元素,你需要将Set转换为一个列表(你知道它没有重复的地方,因为它只是来自一个Set),然后洗牌。
List<Elem> withAnOrdering = new ArrayList<>(fromMySetOfElem);
for (int i = 0; i < numTimes; i++)
{
Collections.shuffle(withAnOrdering);
//Do something with the ordering
}