2017-12-02 14 views
0

私は順序付きリストを持っており、条件に基づいて次の項目を取得しようとしています(つまり、項目を見つけて次の項目だけを取得するまで)。RxJavaフィルタリング後の次の項目を取る

List<Integer> items = Arrays.asList(new Integer[]{1,2,3,4,5}); 
Observable.from(items).filter(i -> i == 3) //.something here to get 4 after we match 3 

いただきました状態/外部変数を使用せずにこれを行うには、少なくとも痛みを伴う方法など

+0

を取ることができます)、私はどのように状態なしでそれを管理することができます考えることができません。あなたの状態は州に基づいています。 – eis

+0

これは似たような問題です。問題を別の方法で考えている解決策があります。https://stackoverflow.com/questions/34491155/filter-sublist-using-rxjava – eis

答えて

1

ソリューションはskipWhileで行われ、あなたの代わりに(次の項目を取得している場合

@Test 
    void name() throws Exception { 
    List<Integer> items = Arrays.asList(1, 2, 3, 4, 5); 
    Flowable.fromIterable(items) 
     .skipWhile(integer -> integer != 3) 
     .take(2) 
     .test() 
     .assertValues(3, 4); 
    } 
+0

ありがとう、firstOrDefaultでこのバリエーションを使用しました。 – breakline

関連する問題