gpt4 book ai didi

java - Stream sorted() 导致意外结果

转载 作者:行者123 更新时间:2023-12-03 11:18:34 27 4
gpt4 key购买 nike

我有一个数组和一个流,如下所示。

String[] names = {"Alex", "Anna", "Abhi", "Some", "Broad", "Dustin", 
"amanda", "Hanna", "Steve", "Sydney"};

Stream.of(names)
.sorted()
.map(String::toLowerCase)
.filter(x -> x.startsWith("a"))
.forEachOrdered(System.out::println);
//I have also tried - .forEach(System.out::println);
实际输出:
abhi
alex
anna
amanda
预期输出:
abhi
alex
amanda
anna
我在这里缺少什么?

最佳答案

您首先进行排序,然后才应用 toLowerCase在元素上,以及自 Anna有资本A之前会来amanda .
请改为执行以下操作:

Stream.of(names)
.map(String::toLowerCase)
.filter(x -> x.startsWith("a"))
.sorted()
.forEachOrdered(System.out::println);
输出:
abhi
alex
amanda
anna

关于java - Stream sorted() 导致意外结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65797813/

27 4 0