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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 贺小梅 中级黑马   /  2015-11-30 23:25  /  787 人查看  /  1 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

集合练习题
/*
*编写程序,生成5个1至10之间的随机整数,存入一个List集合,编写方法对List集合进行排序(自定义排序算法,
*禁用collection.sort方法和treeSet),然后遍历集合输出
*/package com.itheima.test04;

import java.util.ArrayList;
public class Example {
public static void main(String[] args) {
  //创建ArrayList集合对象
    ArrayList<Integer> al = new ArrayList<Integer>();
    //循环生成五个元素,存入ArrayList集合中
    for(int i = 0; i < 5 ; i++) {
        al.add((int)(Math.random() * 10) + 1);
    }
    //ArrayList的底层数据结构是数组,故考虑使用数组排序的方式:冒泡排序或比较排序
//冒泡排序法
//    for(int i = 0; i < al.size() - 1; i++) {
//        for (int j = 0; j < al.size()- 1 - i; j++) {
//            //get(int index)方法,返回指定位置上的元素
//            if(al.get(j) > al.get(j + 1)) {
//                int temp = al.get(j);
////set(int index,E element)方法,用指定的元素,替代此列表中指定位置上的元素
//                al.set(j, al.get(j + 1));
//                al.set(j + 1, temp);
//            }
//        }
//    }
//选择排序法
    for(int i = 0; i < al.size() - 1; i++) {
        for (int j = i + 1; j < al.size(); j++) {
            //get(int index)方法,返回指定位置上的元素
            if(al.get(i) > al.get(j)) {
                int temp = al.get(i);
//set(int index,E element)方法,用指定的元素,替代此列表中指定位置上的元素
                al.set(i, al.get(j));
                al.set(j, temp);
            }
        }
    }
//遍历集合中的元素,并打印在控制台中
   for (Integer t : al) {
    System.out.print(t + " ");
}
    }

}
每次在控制台中运行的结果是不一致的,因为集合中的元素是随机产生的,在控制台中出现的效果为:2 4 6 8 10

1 个回复

正序浏览
Math.random() * 10) + 1),,这个 是随机 生成 1-10之间的数么
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马