我刚刚学习了lambda表达式,我想知道如何返回一个已排序的字符串。例如,如果我有" cba",我想要" abc"。通常我会这样做:
String s = "cba";
char[] charList = s.toCharArray();
Arrays.sort(charList);
String sorted = charList.toString();
有没有办法在一行中使用lambda表达式?
答案 0 :(得分:2)
是的,你可以这样做:
final String s = "cba";
final String collect = Arrays.stream(s.split(""))
.sorted()
.collect(Collectors.joining(""));
答案 1 :(得分:2)
您可以使用IntStream
String.chars()
"cba"
.chars()
.sorted()
.mapToObj(value -> (char) value)
.collect(StringBuilder::new, StringBuilder::append, StringBuilder::append)
.toString()