下面有题目要求,我是这么写的,但是知道自己写的不是很好,求大神来给一点意见。
- package com.itheima;
- import java.util.ArrayList;
- import java.util.Iterator;
- import java.util.Random;
- public class Test5 {
- /**
- * 编写程序,生成5个1至10之间的随机整数,存入一个List集合,编写方法对List集合进行排序
- * (自定义排序算法,禁用Collections.sort方法和TreeSet),然后遍历集合输出。
- * @author Administrator
- */
- public static void main(String[] args) {
- ArrayList<Integer> list = new ArrayList<Integer>();
- Random rd = new Random();
-
-
- for(int i = 0;i<5;i++) {
- list.add(rd.nextInt(9)+1);
- }
- Iterator<Integer> it = listSort(list).iterator();
- while(it.hasNext()) {
- System.out.print(it.next());
- }
- }
- //list排序
- public static ArrayList<Integer> listSort(ArrayList<Integer> list) {
-
- Object[] arr = list.toArray();
- ArrayList<Integer> newList = new ArrayList<Integer>();
- arraySort(arr);
- for(int x=0;x<arr.length;x++) {
-
- newList.add((Integer) arr[x]);
- }
- return newList;
- }
- //数组排序
- public static void arraySort(Object[] arr) {
- for(int x=0;x<arr.length-1;x++) {
- for(int y=x+1;y<arr.length;y++) {
- if((Integer)arr[x]<(Integer)arr[y]){
- swap(arr ,x,y);
- }
- }
- }
- }
- //位置交换
- public static void swap(Object[] arr,int x,int y) {
- Object tmp = arr[x];
- arr[x] = arr[y];
- arr[y] = tmp;
- }
- }
复制代码 |
|