package jihe;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import java.util.Random;
/*
* 编写程序,生成5个1至10之间的随机整数,存入一个List集合,编写方法对List
* 集合进行排序(自定义排序算法,禁用Collections.sort方法和TreeSet),然后遍历输出集合
*
* 思路:A:创建一个List集合对象
* B:生成5个随机数,存储到list集合中
* C:对集合实现排序
*/
public class Test5 {
public static void main(String[] args) {
ArrayList<Integer> l = new ArrayList<Integer>();
Random rd = new Random();
int x = rd.nextInt(10)+1;
while (l.size()<5) {
if (!l.contains(x)) {
l.add(x);
x = rd.nextInt(10)+1;
}
}
System.out.println(l);
//使用选择排序进行排序
for (int i = 0; i < l.size(); i++) {
for (int j = i+1; j < l.size(); j++) {
if (l.get(i)<l.get(j)) {
int temp1 = l.remove(j);
int temp2 = l.remove(i);
l.add(i,temp1);
l.add(j,temp2); //这里的顺序要特别注意,先remove大的索引,先add小的索引
//其实这里可以用ArrayList中的自带的set(int index, E element)方法,用指定的元素替代此列表中指定位置上的元素。
/*
Integer temp = l.get(i);
l.set(i, l.get(j));
l.set(j, temp);
*/
}
}
}
System.out.println(l);
}
}
|
|