java reverseOrder()无效

时间:2017-11-04 21:24:57

标签: java sorting

我想在Java 8中编写一个小程序,它以反向字典顺序打印出一个字符列表。例如," stack"应该成为" tskca"。我输入了这段代码:

public static void main (String[] args) {
    String input = "abc";
    char[] charArray = input.toCharArray();
    List<Character> charList = new ArrayList<Character>();
    for (char c : charArray) {
        charList.add(c);
    }
    System.out.println(charList.toString());
    charList.sort(Collections.reverseOrder());
    String output = charList.toString();
    System.out.println(input);
}

输出将是:

abc

我用

尝试了
    Collections.sort(charList, Collections.reverseOrder());

而不是其他排序行,结果相同。我查了类似的问题,但没有找到同样的问题。我搞砸了什么吗?

2 个答案:

答案 0 :(得分:4)

只是一点点错误......改变

System.out.println(input);

System.out.println(output);

答案 1 :(得分:3)

我认为打印正确的字符串会有所帮助;)

System.out.println(output);

如果您希望它打印cba而不是[c, b, a],请使用for-each

charList.stream().forEach(System.out::print);