2015-11-13 79 views

回答

4

没有直接的类比,因为集合上没有顺序,所以混洗没有集合的语义。如果你想多次获得不同顺序的元素,你需要将Set转换为一个列表(你知道它没有重复的地方,因为它只是来自一个Set),然后洗牌。

List<Elem> withAnOrdering = new ArrayList<>(fromMySetOfElem); 
for (int i = 0; i < numTimes; i++) 
{ 
    Collections.shuffle(withAnOrdering); 
    //Do something with the ordering 

}