黑马程序员技术交流社区
标题:
练习题~
[打印本页]
作者:
姚成晖
时间:
2016-1-19 22:27
标题:
练习题~
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import java.util.Random;
public class Demo {
/**
* 编写方法,生成5个1到10之间的不同随机整数,存入一个List集合,编写方法对List集合进行排序
* (自定义排序算法,禁用Collections.sort和TreeSet) 然后遍历集合输出
* 分析:1.定义Random类
* 2.定义List集合
* 3.用while循环录入5个随机数,
* 4.定义数组,将集合中元素放在数组中
* */
public static void main(String[] args) {
Random ran = new Random();
List<Integer> list = new ArrayList<>();
while(list.size()<5){
Integer i = ran.nextInt(10)+1;
if(!list.contains(i)){
list.add(i);
}
}
listSort(list);
Iterator<Integer> it = list.iterator();
while(it.hasNext()){
Integer i = it.next();
System.out.println(i);
}
}
//编写方法对List集合进行排序 返回值void,参数List<Integer> list
public static void listSort(List<Integer> list){
int[] arr= new int[list.size()];
for(int x=0;x<arr.length;x++){
arr[x]=list.get(x);
}
//对数组进行排序
for(int x=0;x<arr.length-1;x++){
for(int y=0;y<arr.length-1-x;y++){
if(arr[y]>arr[y+1]){
int temp=arr[y];
arr[y]=arr[y+1];
arr[y+1]=temp;
}
}
}
//集合清空
list.clear();
//将数组中排好序的元素放回集合
for(Integer i:arr){
list.add(i);
}
}
}
复制代码
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2