以下是代码下面是运行结果
不知道是哪里出了问题 为什么我的升序排列少了两个数字

解决方案 »

  1.   


    因为你把list中的元素remove掉了,list的size变小了,所以for循环2次就结束了。
      

  2.   

    怎么改进。。有什么办法能将list的元素都排序出来
      

  3.   

    不是有api可以调用的吗import java.util.ArrayList;
    import java.util.Collections;
    import java.util.Comparator;
    import java.util.List;public class TestList { public static List<Integer> upsort(List<Integer> list){
    Collections.sort(list, new Comparator<Integer>() {
    @Override
    public int compare(Integer o1, Integer o2) {
    return o1-o2;
    }
    });
    return list;
    }

    public static List<Integer> desort(List<Integer> list){
    Collections.sort(list, new Comparator<Integer>() {
    @Override
    public int compare(Integer o1, Integer o2) {
    return o2-o1;
    }
    });
    return list;
    }

    public static void main(String[] args) {
    List<Integer> list = new ArrayList<>();
    list.add(7);
    list.add(4);
    list.add(5);
    list.add(9);
    list = upsort(list);
    for(Integer n:list){
    System.out.print(n);
    }
    System.out.println();
    list = desort(list);
    for(Integer n:list){
    System.out.print(n);
    }
    }
    }