2013-08-06 8 views
25

में क्रमबद्ध सूची में मेरी सूची सूची 1 है। List<String> list = Ordering.natural().sortedCopy(asu2); ऑर्डर कैसे बदलें। और मुझे नहीं पता कि वर्ग को विस्तारित करने के तरीकों को फिर से लिखना है, कृपया उदाहरणों के साथ लिखें या स्पष्ट रूप से बोलें। धन्यवाद।रिवर्स ऑर्डर

+0

क्या आप उदाहरण के साथ अपना प्रश्न विस्तृत कर सकते हैं? –

+2

"परिवर्तन आदेश" से आपका क्या मतलब है? किसी विशिष्ट नियम के आधार पर सूची को उलट दें या इसे पूरी तरह से नया ऑर्डर लागू करें? – f1sh

+0

आप सूची को अवरोही क्रम में क्रमबद्ध करना चाहते हैं। सही? – JHS

उत्तर

64

उपयोग उपयोग कर सकते हैं इस:

Collections.reverse(list); 
+1

क्या यह क्रम अवरोही क्रम में है या केवल उस क्रम को उलट देता है जिसमें तत्व डाले गए थे? – JHS

+1

यह सिर्फ ऑर्डर तत्वों को उलट देता है। सादगी, पठनीयता के लिए –

+0

+1। – Xynariz

27

Collections कक्षा में reverseOrder एक विधि है जो Comparator देता है।

आपको इस तरह के Collections.sort(list, Collections.reverseOrder());

+0

मैं आपका उत्तर मानता हूं, क्योंकि इसे वापस करने के बाद ही व्यवस्था करना आवश्यक नहीं होगा। आपका दृष्टिकोण एक ही फ्रेम में दो संचालन करने में सक्षम है। मैं दूसरों के बारे में नहीं जानता, लेकिन धन्यवाद। – Loa

7

उपयोग कर सकते हैं आप रिवर्स प्राकृतिक में सूची को सॉर्ट करना चाहते हैं सूची में आइटम का क्रम उलटने के आदेश, अमरूद के आदेश में a reverse method:

List<String> list = Ordering.natural().reverse().sortedCopy(asu2); 
1

Collections.reverse(List) दी गई सूची को जगह में बदल देता है। आप को दिए गए सूची द्वारा समर्थित प्रतिलिपि में उल्लिखित सूची या मूल सूची को संशोधित किए बिना गुवा के Lists.reverse(List) का उपयोग भी कर सकते हैं।

और यदि आप प्राकृतिक सूची के विपरीत में क्रमबद्ध एक सूची बनाना चाहते हैं, तो Ordering.natural().reverse() के बारे में @ assylias का उत्तर देखें।

10

आप अपनी वापसी के विपरीत "-" या नकारात्मक चिह्न डाल कर किसी भी प्रकार को उलट सकते हैं।

Collections.sort(listed, new Comparator<Object>() { 

    @Override 
    public int compare(Object o1, Object o2) { 

     return -o1.getLeft().compareTo(o2.getLeft()); 

    } 
}); 
+0

और आशा करते हैं कि 'तुलना करें' कभी भी न्यूनतम पूर्णांक नहीं लौटाएगा क्योंकि '-Integer.MIN_VALUE' अभी भी' Integer.MIN_VALUE' है। सबसे सुरक्षित तरीका ओ 2 के साथ ओ 2 के साथ स्वैपिंग होगा जैसे 'वापसी o2.getLeft()। तुलना करने के लिए (o1.getLeft()) ' – Pshemo

संबंधित मुद्दे