繁体   English   中英

降序排列ArrayList

[英]Sort ArrayList in descending order

所以我试图从最大到最小对我的ArrayList进行排序。 用户只能输入数字,然后将其转换为字符串。 一切都很好,但是当我显示分数时,我得到的是这样的...

98
81
81
76
64
105
103
100

任何人都知道如何进行分类...

105
103
100
98
81
81
76
64

您将数字保留为String ,因此要按照字典顺序对其进行排序( '9''1' )。 相反,您应该将字符串解析为Integer (例如,使用Integer.valueOf )并存储在ArrayList<Integer> 现在,对元素进行排序时,将根据元素的数值对其进行评估。

Dom-请记住,字符串是一堆字符,每个字符都有一个整数值。 排序字符串!==排序数字。

这是代码

    List<String> firstArrayList = new ArrayList<String>();
    firstArrayList.add("4"); // .add(readUSerInput());
    firstArrayList.add("30");
    firstArrayList.add("1");
    firstArrayList.add("02");

    ArrayList<Integer> newArrayList = new ArrayList<Integer>();

    for(String numero: firstArrayList){
        newArrayList.add(Integer.parseInt(numero));
    }

    newArrayList.sort(Collections.reverseOrder());

    // To check
    for(Integer numero: newArrayList){
        // use a Scanner() to print numero to the screen
    }

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM