【发布时间】:2017-02-18 10:23:31
【问题描述】:
我在流上调用 sorted 方法。 Java 文档说:
“Sorted 方法返回一个由该流的元素组成的流,按照自然顺序排序。”
但是当我运行下面的代码时:
List<String> list = new ArrayList<String>();
list.add("b");
list.add("a");
list.add("z");
list.add("p");
list.stream().sorted();
System.out.println(list);
我得到的输出为
[b, a, z, p]
为什么我没有得到自然排序的输出?
【问题讨论】:
-
sorted() 返回一个元素已排序的流,它不会对您当前的流进行排序。
-
@Snickers3192:您的意思是“它不会对
List进行排序”,因为没有“当前流”。 OP 表明,命名错误会导致混乱。 -
@Holger 对不起,用列表替换流。
标签: java sorting java-8 java-stream