將list集合,元素隨機打亂

將list集合,元素隨機打亂

三種實現方式

  • for循環+隨機數 實現相同位置的元素交換
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);
        }
    }
  • Collections.swap實現
 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);
    }
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章