zoukankan      html  css  js  c++  java
  • Java字符串06-字符串排序

    package doudou;
    
    import java.util.Arrays;
    import java.util.Comparator;
    
    public class test_stringSort {
        public static void main(String[] args) {
            String a = "11,44,22,3,321,55,33,0";
            String[] b = a.split(",");
            Arrays.sort(b, new Comparator<String>() {
                public int compare(String o1, String o2) {
                    return Integer.parseInt(o1) > Integer.parseInt(o2) ? -1
                            : Integer.parseInt(o1) < Integer.parseInt(o2) ? 1 : 0;
                }
            });
            System.out.println(Arrays.toString(b));
            System.out.println(b.getClass());
            String replace = Arrays.toString(b).replaceAll("[\[\]]", """);
            System.out.println(replace);
            System.out.println(replace.getClass());
        }
    
    }

    运行结果:

    [321, 55, 44, 33, 22, 11, 3, 0]
    class [Ljava.lang.String;
    "321, 55, 44, 33, 22, 11, 3, 0"
    class java.lang.String

    请注意:  

    Arrays.sort 排序有坑 如下图,要排序的话,还是指定排序规则吧!
    Array的sort()方法默认把所有元素先转换为String再排序,
    '
    321'排在了'33'的前面:第一位相同,则比较第二位,因为第二位字符'2'比字符'3'的ASCII码小,所以321 排在33前面
     
  • 相关阅读:
    cf D. Vessels
    cf C. Hamburgers
    zoj 3758 Singles' Day
    zoj 3777 Problem Arrangement
    zoj 3778 Talented Chef
    hdu 5087 Revenge of LIS II
    zoj 3785 What day is that day?
    zoj 3787 Access System
    判断给定图是否存在合法拓扑排序
    树-堆结构练习——合并果子之哈夫曼树
  • 原文地址:https://www.cnblogs.com/eosclover/p/13499755.html
Copyright © 2011-2022 走看看