我是Reactive的新手。使用JDK 1.8,如何將這些命令式代碼轉換爲無效式。if/else in Reactive JDK 8
List<int> evenArr, oddArr, arr;
// pretending 'arr' have some values, 'evenArr' & 'oddArr' have already init
for (int n : arr) {
if (n%2) evenArr.add(n);
else oddArr.add(n);
}
現在我只是搜索 '常用3' 的兩倍,像想法:
arr.stream().filter(n -> n%2).foreach(evenArr::add);
arr.stream().filter(n -> n%2!=0).foreach(oddArr::add);
是否有另一種方式?搜索'arr'兩次是很昂貴的。
感謝你們兩個關鍵字「收藏家」。 –