0
、私はいくつかの場所のコレクションを意味私は
class Place {
userId,
price
}
以下のダミーのようなデータのコレクションを持っているいくつかのデータを平均化するために、いくつかのRxJavaコードより優れた作りに滞在するのに長い時間を持っています。
ユースケース:
ユーザーIDとログインを持つユーザーがあります。
平均的なプレースプライスをuserIdに換算する方法は?
RxJavaはいいですし、
filter
とtoList
を試してみましたが、それほど優れた性能はありません。Observable.fromIterable(places) .subscribeOn(Schedulers.newThread()) .filter(new Predicate<Place>() { @Override public boolean test(Place place) throws Exception { return place.userId == global.login.userId; } }) .toList() .observeOn(AndroidSchedulers.mainThread()) .subscribe(new Consumer<List<Place>>() { @Override public void accept(List<Place> filteredPlace) throws Exception { //Here I have to use loop to do math-average, it is not nice to average. } });
私はあなたの最初のコードは単なるコールループであると思います。拡張機能なしでは、1行だけで書く方法はないと思いますか? – TeeTracker
RxJavaは、ツールがその内部と外部に分散しているコンポジションライブラリです。通常、ビジネス上の問題を解決するライナーはありません。あなたがAndroid上にいるので、Javaストリームへの直接アクセスはなく、Javaストリームのバックポートには外部依存関係が必要です。 – akarnokd