黑马程序员技术交流社区

标题: 看这个有关ArrayList的程序学到很多东西 [打印本页]

作者: 编程小黑    时间: 2015-7-30 22:47
标题: 看这个有关ArrayList的程序学到很多东西
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;

public class Test29 {

        /*5、 编写程序,生成5个1至10之间的随机整数,存入一个List集合,
           * 编写方法对List集合进行排序(自定义排序算法,禁用Collections.sort方法和TreeSet),
           * 然后遍历集合输出*/
         public static void main(String[] args) throws InterruptedException {
                    int[] number = new int[5];// 定义一个int数组长度为5
                    List<Integer> list = new ArrayList<Integer>();// 定义一个int数组长度为5
                    for (int i = 0; i < 5; i++) {
                      number[i] = (int) (Math.random() * 10 + 1);// 返回1~10之间的随机整数给number[i]
                      for (int j = 0; j < i; j++) {
                        if (number[i] == number[j]) {// 与之前的数对比,防止重复
                          i--;
                          break;
                        }
                      }
                    }
                    System.out.println("将随机数添加到list集合中");
                    for (int n : number) {
                      Thread.sleep(100);// 为了打印好看些
                      list.add(n);
                      System.out.print(n + " ");
                    }
                    System.out.println("\n5个1至10的随机数从小到大排序如下:");
                    Collections.sort(list);// 按升序排序
                    // 冒泡排序
                    for (int i = 0; i < list.size() - 1; i++) {
                      for (int j = 1; j < list.size() - i; j++) {
                        if ((list.get(j - 1)).compareTo(list.get(j)) > 0) { // 比较两个整数的大小
                          int temp = list.get(j - 1); // 如果J-1大于J的交换位置
                          list.set((j - 1), list.get(j));
                          list.set(j, temp);
                        }
                      }
                    }
                    // 遍历输出
                    for (int n : list) {
                      Thread.sleep(100);// 为了打印好看些
                      System.out.print(n + " ");
                    }
                  }
       
}





欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2