不使用内置String api对String字进行排序

时间:2018-01-05 04:13:26

标签: java

如何在不使用Java中的内置String方法的情况下对String Word进行排序。我很难使用toCharArray(),因为它位于Java.String包中,我想在不使用任何String API的情况下对字符串字进行排序。

1 个答案:

答案 0 :(得分:0)

如果你不想使用toCharArray(),你可以尝试这样的事情,

    public static String sortString(String inputString)
    {
        // convert input string to Character array
        Character tempArray[] = new Character[inputString.length()];
        for (int i = 0; i < inputString.length(); i++) {
            tempArray[i] = inputString.charAt(i);
        }


        // Sort, ignoring case during sorting
        Arrays.sort(tempArray, new Comparator<Character>(){

            @Override
            public int compare(Character c1, Character c2)
            {
                // ignoring case
                return Character.compare(Character.toLowerCase(c1),
                                        Character.toLowerCase(c2));
            }
        });

        // using StringBuilder to convert Character array to String
        StringBuilder sb = new StringBuilder(tempArray.length);
        for (Character c : tempArray)
            sb.append(c.charValue());

        return sb.toString();
    }