不使用工具类实现集合的随机排序
时间: 2024-04-14 18:30:12 浏览: 90
你可以使用洗牌算法来实现集合的随机排序,而不使用工具类。下面是一个示例代码:
```java
import java.util.ArrayList;
import java.util.List;
import java.util.Random;
public class RandomSort {
public static void main(String[] args) {
List<Integer> numbers = new ArrayList<>();
numbers.add(1);
numbers.add(2);
numbers.add(3);
numbers.add(4);
numbers.add(5);
randomSort(numbers);
System.out.println(numbers);
}
public static void randomSort(List<Integer> list) {
Random random = new Random();
for (int i = list.size() - 1; i > 0; i--) {
int j = random.nextInt(i + 1);
swap(list, i, j);
}
}
public static void swap(List<Integer> list, int i, int j) {
int temp = list.get(i);
list.set(i, list.get(j));
list.set(j, temp);
}
}
```
这段代码使用了洗牌算法来打乱集合中元素的顺序。它通过从最后一个元素开始,每次随机选择一个位置,然后交换当前位置和随机位置上的元素。重复这个过程直到所有元素都被遍历过。
在这个示例中,我们对一个包含数字1到5的集合进行随机排序。你可以根据需要修改集合的内容。最后,我们打印出重新排序后的集合。
阅读全文