我有一个“代币”的数组列表。我可以用整数填充它们,没问题。但是,如果不使用内置列表类,我很难随机重新排列它们。有什么建议么?如何在没有集合的情况下洗牌ArrayList
TopSpinArray<Integer> al = new TopSpinArray<Integer>(numTokens, spinSize);
//fills ArrayList with tokens
for(int i = 1; i <= numTokens; i++) {
al.add(i);
}
的[Knuth的洗牌](http://en.wikipedia.org/wiki/ Knuth_shuffle#The_modern_algorithm)很容易实现。 – Dukeling
@Dukeling可能是迂腐的,但它实际上被称为* Fisher-Yates *算法。 – adrianp
@adrianp作为迂腐,它[[**也**被称为Knuth洗牌]](http://en.wikipedia.org/wiki/Knuth_shuffle)。克努特更容易记住(无论如何对我来说)。 – Dukeling