【发布时间】:2016-05-26 12:43:22
【问题描述】:
如果元素小于则向左移动,如果更多则向右移动。 java 7风格的简单代码:
private static <T extends Comparable> List<T> doAction(List<T> original, T state) {
List<T> left = new ArrayList<T>();
List<T> fight = new ArrayList<T>();
for (T e : original) {
if (e.compareTo(state) < 0) {
left.add(e);
} else {
fight.add(e);
}
}
left.addAll(fight);
return left;
}
如何使用并行流将上面的代码重写为 java 8 流样式?
【问题讨论】:
-
您为什么认为并行流会对您的情况有所帮助?你有一个像这样排序的大列表吗?
-
每个问题都不适合并行化;这可能是其中之一。
-
@Nicolas Filotto:一个有序的并行流将保持遇到的顺序,即使处理顺序不同,参见here
-
@Holger 有趣的谢谢分享
标签: java parallel-processing java-8 java-stream