这道题是禁止使用Collections的sort方法的。看看我这个- package com.itheima.test33;
- import java.util.ArrayList;
- import java.util.List;
- import java.util.Random;
- /**
- * 编写程序,生成5个1至10之间的随机整数,存入一个List集合,
- * 编写方法对List集合进行排序(自定义排序算法,禁用Collections.sort方法和TreeSet)
- *
- * @author RuiWu
- */
- public class Test28 {
- public static void main(String[] args) {
- List<Integer> list = new ArrayList<Integer>();
- for (int x = 0; x < 5; x++) {
- list.add(new Random().nextInt(10) + 1);
- }
- System.out.println(list);
- sortList(list);
- System.out.println(list);
- }
- private static void sortList(List<Integer> list) {
- for (int x = 0; x < list.size() - 1; x++) {
- for (int y = x + 1; y < list.size(); y++) {
- if (list.get(x) > list.get(y)) {
- int temp = list.remove(y);
- list.add(y, list.get(x));
- list.remove(x);
- list.add(x, temp);
- }
- }
- }
- }
- }
复制代码
其实交换顺序也可以用Collections.swap(list,a,b),不过感觉也像是投机取巧。:lol |