A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 姚成晖 中级黑马   /  2016-1-19 22:27  /  560 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

  1. import java.util.ArrayList;
  2. import java.util.Iterator;
  3. import java.util.List;
  4. import java.util.Random;

  5. public class Demo {
  6.         /**
  7.          *                 编写方法,生成5个1到10之间的不同随机整数,存入一个List集合,编写方法对List集合进行排序
  8.          *                                 (自定义排序算法,禁用Collections.sort和TreeSet) 然后遍历集合输出
  9.          *                         分析:1.定义Random类
  10.          *                                 2.定义List集合
  11.          *                                 3.用while循环录入5个随机数,
  12.          *                                 4.定义数组,将集合中元素放在数组中
  13.          * */
  14.         public static void main(String[] args) {
  15.                 Random ran = new Random();
  16.                 List<Integer> list = new ArrayList<>();
  17.                
  18.                 while(list.size()<5){
  19.                         Integer i = ran.nextInt(10)+1;
  20.                         if(!list.contains(i)){
  21.                                 list.add(i);
  22.                         }
  23.                 }
  24.                 listSort(list);
  25.                 Iterator<Integer> it = list.iterator();
  26.                 while(it.hasNext()){
  27.                         Integer i = it.next();
  28.                         System.out.println(i);
  29.                 }

  30.         }
  31.         //编写方法对List集合进行排序   返回值void,参数List<Integer> list
  32.         public static void listSort(List<Integer> list){
  33.                 int[] arr= new int[list.size()];
  34.                 for(int x=0;x<arr.length;x++){
  35.                         arr[x]=list.get(x);
  36.                 }
  37.                
  38.                 //对数组进行排序
  39.                 for(int x=0;x<arr.length-1;x++){
  40.                         for(int y=0;y<arr.length-1-x;y++){
  41.                                 if(arr[y]>arr[y+1]){
  42.                                         int temp=arr[y];
  43.                                         arr[y]=arr[y+1];
  44.                                         arr[y+1]=temp;
  45.                                 }
  46.                         }
  47.                 }
  48.                 //集合清空
  49.                 list.clear();
  50.                 //将数组中排好序的元素放回集合
  51.                 for(Integer i:arr){
  52.                         list.add(i);
  53.                 }
  54.         }
  55. }
复制代码

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马