String[] planets = new String[] { "Mercury", "Venus", "Earth", "Mars",
"Jupiter", "Saturn", "Uranus", "Neptune" };
मेरे पास ग्रह के नामों की एक साधारण सरणी है और मैं सरणी में जोड़े गए प्रत्येक नाम को वापस करना चाहता हूं (स्ट्रिंग ऑर्डर नहीं)।
मैं लैम्ब्डा वाक्य रचना के साथ संघर्ष करने के लिए जारी:एक स्ट्रिंग को रिवर्स करने के लिए लैम्ब्डा अभिव्यक्ति - जावा
Arrays.sort(planets, (first, second) -> new StringBuilder(first).reverse().toString());
System.out.println(Arrays.toString(planets));
वर्तमान में मैं मिलता है:
Multiple markers at this line
- The method
reverse()
in the typeStringBuilder
is not applicable for the arguments(String)
- Type mismatch: cannot convert from
String
toint
प्रतिक्रिया:
आप सभी सुझावों के लिए धन्यवाद ... asList मुझे पास मिला है। मैं अभी भी सही ढंग से सॉर्ट नहीं किया था।
तो मुझे array.sort काम करने के लिए एक रास्ता खोजने की आवश्यकता है क्योंकि यह असाइनमेंट था (array.sort और lambda इसे लेने के लिए)।
मैंने प्रशिक्षक को यहां स्पष्टीकरण मांगने के लिए पिंग किया है, लेकिन मैं समय से बाहर चल रहा हूं।
यहाँ मेरे काम array.sort
// lambda expression , long to short
System.out.println("5) Sorted by length (descending):");
Arrays.sort(planets, (first, second) -> second.length() - first.length());
System.out.println(Arrays.toString(planets));
// lambda expression , reverse the name , then sort in ascending order
// hint use new StringBuilder(first).reverse().toString() to reverse the string
System.out.println("6) Sorted in dictionary order of the reversed name (ascending)");
Arrays.sort(planets, (first, second) -> new StringBuilder(first).reverse().toString().compareTo(second));
System.out.println(Arrays.toString(planets));
// lambda expression , reverse the name , then sort in descending order
System.out.println("7) Sorted in dictionary order of the reversed name (descending)");
Arrays.sort(planets, (first, second) -> new StringBuilder(second).reverse().toString().compareTo(first));
System.out.println(Arrays.toString(planets));
रखने के लिए क्या मैं नहीं मेरे जीवन के लिए यहाँ पता लगा सकते हैं कि सभी 3 भाव मुझे बिल्कुल एक ही परिणाम प्राप्त है प्रयास कर रहा है ... उन में से प्रत्येक के लिए देता है मुझे मूल सरणी सबसे कम से कम क्रमबद्ध किया गया।
5) लंबाई के आधार पर छाँटे (उतरते): [नेपच्यून, बुध, बृहस्पति, यूरेनस, शनि, शुक्र, पृथ्वी, मंगल ग्रह]
6) शब्दकोश क्रम में सॉर्ट
यह मेरा परिणाम है उलट नाम की (आरोही) [नेपच्यून, बुध, बृहस्पति, यूरेनस, शनि, शुक्र, पृथ्वी, मंगल ग्रह]
7) (उतरते) [नेपच्यून, बुध, बृहस्पति उलट नाम का शब्दकोश क्रम में सॉर्ट, यूरेनस, शनि, शुक्र, पृथ्वी, मंगल]
तुम क्यों बुला रहे हैं 'Arrays.sort()': इस मामले तो आप बस
Arrays.setAll
उपयोग कर सकते हैं जगह में सरणी संशोधित करने के लिए? –मैं Arrays.sort() का उपयोग कर रहा हूं क्योंकि मुझे होमवर्क असाइनमेंट के लिए कहा गया था। –