將list集合,元素隨機打亂
三種實現方式
public <T> void shuffle(List<T> list) {
int size = list.size();
Random random = new Random();
for(int i = 0; i < size; i++) {
int randomPos = random.nextInt(size);
T temp = list.get(i);
list.set(i, list.get(randomPos));
list.set(randomPos, temp);
}
}
public <T> void shuffle(List<T> list) {
int size = list.size();
Random random = new Random();
for(int i = 0; i < size; i++) {
int randomPos = random.nextInt(size);
Collections.swap(list, i, randomPos);
}
}
- Collections.shuffle實現
public <T> void shuffle(List<T> list) {
Collections.shuffle(list);
}