黑马程序员技术交流社区
标题:
生成随机数进行排序
[打印本页]
作者:
黑马IT学员
时间:
2014-1-10 21:47
标题:
生成随机数进行排序
package com.itheima;
import java.util.ArrayList;
import java.util.List;
public class Test7 {
/**
编写程序,生成5个1至10之间的随机整数,存入一个List集合,编写方法对List集合进行排序
* (自定义排序算法,禁用Collections.sort方法和TreeSet),然后遍历集合输出。
*/
public static void main(String[] args) {
//创建一个存放产生随机数的集合
List<Integer> NumberList=new ArrayList<Integer>();
Random(NumberList);
PrintControl(NumberList);
}
//把排序之后的数据输出到控制台
public static void PrintControl(List<Integer> NumberList) {
//把集合中的数据转换成数组,并对数组排序,之后添加到集合中
Object[] number = Sort(NumberList);
//清楚集合中所有的数据
NumberList.clear();
for (int i=0;i<number.length;i++) {
//把数组中的数据重新添加到集合中
NumberList.add((Integer) number[i]);
}
System.out.println();
System.out.println("排序之后:");
for (Integer i:NumberList) {
System.out.print(i+"\t");
}
}
//排序
public static Object[] Sort(List<Integer> NumberList) {
//把集合转换成数组
Object[] number=NumberList.toArray();
//使用冒泡法对数组进行排序
for (int i = 0; i < number.length; i++)
{
for (int j = i+1; j < NumberList.size(); j++)
{
int change=0;
if((Integer)number[i]>(Integer)number[j])
{
change=(Integer)number[j];
number[j]=number[i];
number[i]=change;
}
}
}
return number;
}
//产生随机数
public static void Random(List<Integer> NumberList) {
for (int i = 0; i < 5; i++) {
//随机生成1到10的随机数
int random=(int)(Math.random()*10 + 1);
//将随机数添加到集合中
NumberList.add(random);
}
System.out.println("排序之前:");
for (Integer i:NumberList) {
System.out.print(i+"\t");
}
}
}
作者:
山治0712
时间:
2014-1-14 22:14
在ArrayList集合
作者:
山治0712
时间:
2014-1-14 22:16
在ArrayList集合中可以直接比较两个角标的元素排序,这样我感觉省类存点
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2