java-8 - 如果输入列表已排序,流返回的列表是否总是排序?
问题描述
假设你有一个排序的List<String> input
. 我想知道是否List<String> output
将始终对以下内容进行排序?
List<String> output = input.stream
.filter(<predicate>)
.collect(Collectors.toList());
解决方案
如果您从有序集合(例如列表、数组)或某些生成器(例如 Stream.iterate、范围等)创建流,则流将保留该顺序,并且流的结果将按原始元素的顺序累积。
所以在这种情况下,是的,订单被保留了。
推荐阅读
- python - 如果我没有说什么,语音识别就会停止,如何让它一直在听
- odoo - 需要为除 ir.sequence 之外的一个 sale.order 打印五个序列号
- python - 在 python ex25.py 中得到不同的输出。来自Learn python the hardway.python 3.6
- c# - 特殊字符给使用 C# 解析 xml 带来问题
- static - Chapel 中的静态类字段
- ios - 在iOS中反应原生谷歌登录失败反应原生
- sql - 如何在 Tedious 中运行 sql 查询,为 sql in 运算符提供多个值?
- python - 如何在 RGB 颜色检测中使用“if 条件”?
- javafx - Gluon 场景生成器冻结
- javascript - 在 bind() 中如何处理“new”运算符?