RxJava - ट्रांसफॉर्मिंग ऑपरेटर
निम्नलिखित वे ऑपरेटर हैं जो एक ऑब्जर्वेबल से उत्सर्जित आइटम को बदलने के लिए उपयोग किए जाते हैं।
अनु क्रमांक। | ऑपरेटर और विवरण |
---|---|
1 | Buffer वेधशालाओं के सामानों को समय-समय पर बंडलों में रखा जाता है और फिर वस्तुओं के बजाए बंडलों का उत्सर्जन किया जाता है। |
2 | FlatMap नेस्टेड वेधशालाओं में उपयोग किया जाता है। वेधशालाओं में वस्तुओं को परिवर्तित करता है। फिर आइटमों को सिंगल ऑब्जर्वेबल में समतल करें। |
3 | GroupBy अलग-अलग वस्तुओं के समूह का उत्सर्जन करने के लिए कुंजी द्वारा आयोजित वेधशालाओं के सेट में एक ऑब्जर्वेबल को विभाजित करें। |
4 | Map इसे बदलने के लिए प्रत्येक उत्सर्जित आइटम के लिए एक फ़ंक्शन लागू करें। |
5 | Scan क्रमिक रूप से प्रत्येक उत्सर्जित वस्तु पर एक फ़ंक्शन लागू करें, और फिर क्रमिक मूल्य का उत्सर्जन करें। |
6 | Window ऑब्जर्वेबल से ऑब्जर्वेबल विंडो में गैदरर्स को समय-समय पर देखा जाता है और फिर आइटम्स के बजाय विंडो को एमिट किया जाता है। |
ट्रांसफॉर्मिंग ऑपरेटर उदाहरण
C: \> RxJava, अपनी पसंद के किसी भी संपादक का उपयोग करके निम्नलिखित जावा प्रोग्राम बनाएं।
ObservableTester.java
import io.reactivex.Observable;
//Using map operator to transform an Observable
public class ObservableTester {
public static void main(String[] args) {
String[] letters = {"a", "b", "c", "d", "e", "f", "g"};
final StringBuilder result = new StringBuilder();
Observable<String> observable = Observable.fromArray(letters);
observable
.map(String::toUpperCase)
.subscribe( letter -> result.append(letter));
System.out.println(result);
}
}
परिणाम सत्यापित करें
का उपयोग कर वर्ग संकलित करें javac संकलक निम्नानुसार है -
C:\RxJava>javac ObservableTester.java
अब वेधशाला चलाने के लिए निम्नानुसार है -
C:\RxJava>java ObservableTester
यह निम्नलिखित उत्पादन का उत्पादन करना चाहिए -
ABCDEFG