- import java.util.ArrayList;
- import java.util.Iterator;
- import java.util.List;
- import java.util.Random;
- public class Demo {
- /**
- * 编写方法,生成5个1到10之间的不同随机整数,存入一个List集合,编写方法对List集合进行排序
- * (自定义排序算法,禁用Collections.sort和TreeSet) 然后遍历集合输出
- * 分析:1.定义Random类
- * 2.定义List集合
- * 3.用while循环录入5个随机数,
- * 4.定义数组,将集合中元素放在数组中
- * */
- public static void main(String[] args) {
- Random ran = new Random();
- List<Integer> list = new ArrayList<>();
-
- while(list.size()<5){
- Integer i = ran.nextInt(10)+1;
- if(!list.contains(i)){
- list.add(i);
- }
- }
- listSort(list);
- Iterator<Integer> it = list.iterator();
- while(it.hasNext()){
- Integer i = it.next();
- System.out.println(i);
- }
- }
- //编写方法对List集合进行排序 返回值void,参数List<Integer> list
- public static void listSort(List<Integer> list){
- int[] arr= new int[list.size()];
- for(int x=0;x<arr.length;x++){
- arr[x]=list.get(x);
- }
-
- //对数组进行排序
- for(int x=0;x<arr.length-1;x++){
- for(int y=0;y<arr.length-1-x;y++){
- if(arr[y]>arr[y+1]){
- int temp=arr[y];
- arr[y]=arr[y+1];
- arr[y+1]=temp;
- }
- }
- }
- //集合清空
- list.clear();
- //将数组中排好序的元素放回集合
- for(Integer i:arr){
- list.add(i);
- }
- }
- }
复制代码 |
|