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
}