【问题标题】:(Java) Method that sorts a Char array into its reverse alphabetical order [duplicate](Java)将 Char 数组按逆字母顺序排序的方法[重复]
【发布时间】:2017-01-22 17:11:12
【问题描述】:

为了在同一页面上,我不希望将字符串数组按字母倒序排序,我期待为字符数组执行此操作。

这是我尝试的代码:

import java.util.Arrays;
public class ReverseSortDemo {
    public static void main(String[] args){
        char[] unorderedLetters; 
        unorderedLetters = new char[]{'b', 'm', 'z', 'a', 'u'};
        reverseSort(unorderedLetters); 
        for (int i = 0 ; i < unorderedLetters.length; i++ )
            System.out.println(unorderedLetters[i]);
    }

    //method that sorts a char array into its reverse alphabetical order
    public static void reverseSort(char[] values){

        Arrays.sort(values);
        for (int i = values.length - 1; i >= 0; i--) {
            values[values.length-1-i]=values[i];
        }
    }

}

我得到的输出是这样的:

z
u
m
u
z

但是,你们知道我想要的输出是这样的:

z
u
m
b
a

那么,我该如何处理呢?有没有一种我不知道的方法,如果可能的话,还有一种更简单的方法(例如内置方法),这样我就可以开始对我的代码变得懒惰了?

【问题讨论】:

    标签: java arrays sorting


    【解决方案1】:

    您可以尝试java.util.Arrays 类中的sort 方法。

    Arrays.sort(values, Collections.reverseOrder());
    

    这里values 是你的数组。

    【讨论】:

    • 这不管用。在回答问题之前,请先测试一下你要给我的建议。
    • 我必须提到这一点。数组不应该是原始数据类型。
    • 那就不要发送不能回答我问题的“答案”。
    • 您可以轻松地将原始数据类型包装到类中。但是,如果您不想这样做,请阅读以下内容:- stackoverflow.com/questions/215271/…
    • 如前所述,此解决方案不适用于原语。它只适用于一个类。此外,如果您不打算下载该 Java Primitive 库,则提供的链接将毫无用处。
    猜你喜欢
    • 2014-12-21
    • 2011-08-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多