随机产生10个数,添加到List中去,然后倒序(由大到小)输出

1.先将数字添加到数组中,通过排序,再装入到list中去。

代码:

@Test
public void RandomSort1(){
    int [] a = new int[10];
    for (int i = 0; i <10 ; i++) {
       int temp = (int) (Math.random()*100);
      a[i] =temp;
        
    }

    for (int i = 0; i <a.length-1 ; i++) {
        for (int j = 0; j <a.length-1-i ; j++) {
            if (a[j]<= a[j+1]){
                int temp = a [j];
                a[j] = a[j+1];
                a[j+1] = temp;
            }
        }
    }

     List list1 = new ArrayList();
    for (int i = 0; i <a.length ; i++) {
        list1.add(a[i]);
    }
    Iterator iterator = list1.iterator();
    while(iterator.hasNext()){
        System.out.print( " "+iterator.next() );
    }
}

2.直接将数字装入到list中去,在遍历添加到数组,排序后,最后在放到list中去。

代码:

@Test
public void RandomSort2(){
    List<Integer> list1 = new ArrayList<Integer>();

    for (int i = 0; i <10 ; i++) {
        int temp = (int)(Math.random()*100);
        list1.add(temp);
    }
    System.out.println(list1);
    Integer a [] = list1.toArray(new Integer[list1.size()]);  //转化成数组
  //  String  a [] =list.toArray(new String[list.size()]); //String类型
    for (int i = 0; i <a.length-1 ; i++) {
        for (int j = 0; j <a.length-1-i ; j++) {
           if (a[j]<a[j+1]){
               int temp =  a[j];
               a[j] = a[j+1];
               a[j+1]=temp;
           }
        }
    }

    List<Integer> list =Arrays.asList(a);   //使用Arrays 将数组其转换成list类型
    Iterator iterator = list.iterator();
    while (iterator.hasNext()){
        System.out.print(" "+iterator.next());
    }

}

3直接使用list进行排序

代码:

@Test
public void RandomSort2(){
    List<Integer> list1 = new ArrayList<Integer>();

    for (int i = 0; i <10 ; i++) {
        int temp = (int)(Math.random()*100);
        list1.add(temp);
    }
    System.out.println(list1);

    for (int i = 0; i <list1.size()-1 ; i++) {
        for (int j = 0; j <list1.size()-1-i ; j++) {
            if ((int)list1.get(j)<(int)list1.get(j+1)){  //对象是object类型,必须进行转型
                int temp = (int)list1.get(j);
                 list1.set(j,list1.get(j+1));
                 list1.set(j+1,temp);
            }
        }
    }

    System.out.println(list1);
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值