स्वीकृत उत्तर से सहायक विधियों की आवश्यकता नहीं है। विधाओं का उपयोग लंबोदर के साथ किया जा सकता है या आमतौर पर विधि सन्दर्भों का उपयोग करके छोटा किया जा सकता है । धाराएं कार्यात्मक संचालन को सक्षम करती हैं। map()
तत्वों को रूपांतरित करता है और collect(...)
या toArray()
फिर स्ट्रीम को एक सरणी या संग्रह में लपेटता है।
वेंकट सुब्रमण्यम की बात (वीडियो) मुझे इससे बेहतर बताती है।
1 में परिवर्तित List<String>
करेंList<Integer>
List<String> l1 = Arrays.asList("1", "2", "3");
List<Integer> r1 = l1.stream().map(Integer::parseInt).collect(Collectors.toList());
// the longer full lambda version:
List<Integer> r1 = l1.stream().map(s -> Integer.parseInt(s)).collect(Collectors.toList());
2 में परिवर्तित List<String>
करेंint[]
int[] r2 = l1.stream().mapToInt(Integer::parseInt).toArray();
3 में परिवर्तित String[]
करेंList<Integer>
String[] a1 = {"4", "5", "6"};
List<Integer> r3 = Stream.of(a1).map(Integer::parseInt).collect(Collectors.toList());
4 में परिवर्तित String[]
करेंint[]
int[] r4 = Stream.of(a1).mapToInt(Integer::parseInt).toArray();
5 में परिवर्तित String[]
करेंList<Double>
List<Double> r5 = Stream.of(a1).map(Double::parseDouble).collect(Collectors.toList());
6 (बोनस) में कनवर्ट int[]
करेंString[]
int[] a2 = {7, 8, 9};
String[] r6 = Arrays.stream(a2).mapToObj(Integer::toString).toArray(String[]::new);
बहुत अधिक बदलाव निश्चित रूप से संभव हैं।
इन उदाहरणों का Ideone संस्करण भी देखें । कांटा क्लिक कर सकते हैं और फिर ब्राउज़र में चलाने के लिए चला सकते हैं।
Lists.transform()
।