【问题标题】:How do you sort a string with lambda expressions in Java?如何在 Java 中使用 lambda 表达式对字符串进行排序?
【发布时间】:2017-06-11 18:58:48
【问题描述】:

我刚刚学习 lambda 表达式,我想知道如何返回一个排序的字符串。例如,如果我有“cba”,我想要“abc”。通常我会这样做:

String s = "cba";
char[] charList = s.toCharArray();
Arrays.sort(charList);
String sorted = charList.toString();

有没有办法用 lambda 表达式在一行中做到这一点?

【问题讨论】:

标签: java string lambda


【解决方案1】:

是的,你可以这样做:

final String s = "cba";
final String collect = Arrays.stream(s.split(""))
            .sorted()
            .collect(Collectors.joining(""));

【讨论】:

    【解决方案2】:

    你可以从String.chars()使用IntStream

        "cba"
                .chars()
                .sorted()
                .mapToObj(value -> (char) value)
                .collect(StringBuilder::new, StringBuilder::append, StringBuilder::append)
                .toString()
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-07-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-05-19
      相关资源
      最近更新 更多