java - 对一个String数组进行排序,其字符串代表int

标签 java sorting

我有 String[] 数组

{"3","2","4","10","11","6","5","8","9","7"}

我想按数字顺序排序,而不是按字母顺序。

如果我用

Arrays.sort(myarray);

我得到

{"10","11","2","3","4","5","6","7","8","9"}

代替

{"2","3","4","5","6","7","8","9","10","11"}

最佳答案

尝试自定义 Comparator,如下所示:

    Arrays.sort(myarray, new Comparator<String>() {
        @Override
        public int compare(String o1, String o2) {
            return Integer.valueOf(o1).compareTo(Integer.valueOf(o2));
        }
    });

希望你喜欢!

关于java - 对一个String数组进行排序,其字符串代表int,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15289863/

相关文章:

java - 如何在 RESTEasy 中使用通用模板 (<T>) 从类生成 XML 响应?

java - Android保存用户登录注销状态

python - 按文件名日期对日期进行排序

java - 无法将 txt 文件复制到 arraylist 并复制到文件中

java - 当键集大小为 0 时,选择器的默认行为是什么?

java - 将 li 列表从客户端传递到 Spring MVC Controller

perl - 缓存施瓦兹变换

c# - 为什么使用 Linq-to-Objects 进行排序会将项目与自身进行比较?

mongodb - 在 MongoDB 中对 $geoWithin 地理空间查询进行排序

python - 如何防止通过 for 循环覆盖字典中的数据