Java 9 में, संग्राहक वर्ग में एक नई विधि जोड़ी गई:flatMapping() . यह कलेक्टर.मैपिंग () . के समान है विधि जिसमें flatMapping() विधि हमें नेस्टेड संग्रह को संभालने की अनुमति देती है। कलेक्टर.फ्लैट मैपिंग () विधि इनपुट तत्वों पर लागू होने के लिए एक फ़ंक्शन लेती है और फ़ंक्शन के माध्यम से पारित तत्वों को जमा करने के लिए एक कलेक्टर। कलेक्टर.मैपिंग () . के विपरीत विधि, कलेक्टर.फ्लैट मैपिंग () विधि तत्वों की एक धारा से संबंधित है जो हमें अनावश्यक मध्यस्थ संग्रह से छुटकारा पाने की अनुमति देती है।
सिंटैक्स
सार्वजनिक स्थैतिककलेक्टर FlatMapping(Function super T,? Extends Stream विस्तृत U>> मैपर, कलेक्टर सुपर U, ए,आर> डाउनस्ट्रीम)
उदाहरण
आयात करें args[]) { मानचित्र<पूर्णांक, सूची<पूर्णांक>> नक्शा =स्ट्रीम.ऑफ़ (सूची की (1, 2, 3, 4, 5, 6), सूची की (7, 8, 9, 10)) .एकत्र करें (कलेक्टर.ग्रुपिंगबाय (संग्रह::आकार, कलेक्टर.फ्लैट मैपिंग ( l -> l.stream() .filter(i -> i% 2 ==0), संग्राहक.toList() ))); System.out.println (मानचित्र); }}आउटपुट
{4=[8, 10], 6=[2, 4, 6]}