import java.util.*;
/**
* 生成10个1到20之间的不重复的随机数并降序输出
*/
public class List{
public static void main(String[] args) {
Random r = new Random();
HashSet<Integer> rr = new HashSet<>();
//因为泛型里里面用引用类型,
//所以<>里面的int类型用其Integer来自动装箱
//系统生成随机数
while (rr.size() < 10) {
//当has的长度小于10时就继续生成随机数
rr.add(r.nextInt(20)+1);
//获取1至20的随机数,
//由于nextInt(20)的取值是0-19,
//所以后面+1以达要求
}
System.out.println("随机输入的十个数:"+rr);
//遍历集合
java.util.List<Integer> t = new ArrayList<>(rr);
//这里将set集合转换为list集合
class Rule implements Comparator<Integer> {
//内部类实现Compartor接口,
//重写compare方法,实现逆序。
@Override
public int compare(Integer o1, Integer o2) {
// if(o1 instanceof Integer && o2 instanceof Integer){
// if(o1>o2){
// return -1;
// }else if(o1<o2){
// return 1;
// }
// return 0;
// }
// throw new RuntimeException("类型不匹配,无法比较大小!");
return o1 > o2 ? -1 : 1;
}
}
Collections.sort(t, new Rule());
System.out.println("排好序之后的列表:"+t);
}
}
【JAVA】生成10个1到20之间的不重复的随机数并降序输出
最新推荐文章于 2022-05-10 21:07:47 发布