假设您有一个已排序的List<String> input
。我想知道以下List<String> output
是否总会被排序?
List<String> output = input.stream
.filter(<predicate>)
.collect(Collectors.toList());
答案 0 :(得分:4)
如果您从有序集合(如列表,数组或某些生成器,如Stream.iterate,范围等)创建流,则流将保留该顺序,并且流的结果将按原始元素的顺序累积
所以在这种情况下,是的,订单会被保留。
答案 1 :(得分:2)
流中元素的顺序保留在返回的列表中,如Collectors.toList()
所述:
收集器,它将所有输入元素收集到List中, in 遇到订单