generics - How to determine if a List is sorted in Java? -


मुझे एक ऐसा तरीका चाहिए जो एक सूची & lt; T & gt; जहां T लागू करता है तुलनात्मक और true या गलत पर निर्भर करता है कि सूची को सॉर्ट किया गया है या नहीं।

क्या है जावा में इसे लागू करने का सबसे अच्छा तरीका है? यह स्पष्ट है कि जेनेरिक और वाइल्डकार्ड का मतलब ऐसी चीजों को आसानी से संभालने में सक्षम है, लेकिन मैं सभी को उलझा कर रहा हूं।

यह भी जांचने के लिए एक अनुरूप तरीका है कि सूची में है या नहीं रिवर्स ऑर्डर।

अपने शानदार वर्ग के माध्यम से इस कार्यक्षमता को प्रदान करता है। एक आदेश एक Comparator ++ है इस मामले में, यदि आपके पास कुछ प्रकार की एक सूची है जो Comparable लागू करती है, तो आप लिख सकते हैं:

  बूलीयन सॉर्ट किया गया है = ऑर्डरिंग। नैसर्गिक ()। IsOrdered (सूची) ;  

यह किसी भी iterable के लिए काम करता है, न सिर्फ सूची , और आप आसानी से null को संभाल सकते हैं यह निर्दिष्ट करना है कि क्या उन्हें किसी भी अन्य गैर- null तत्वों के पहले या बाद में आना चाहिए:

  ऑर्डरिंग। नैसर्गिक ()। NullsLast ()। IsOrdered (सूची);  

इसके अलावा, जब से आपने उल्लेख किया है कि आप रिवर्स ऑर्डर और सामान्य की जांच करने में सक्षम होना चाहते हैं, तो ऐसा किया जाएगा:

  । Ordering.natural () रिवर्स () isOrdered (सूची)।  

जावा 8 उपयोगकर्ता : समतुल्य तुलनाकर्ता # isInOrder (Iterable) का उपयोग करें, चूंकि बाकी के आदेश ज्यादातर अप्रचलित हैं (जैसा कि वर्ग में समझाया गया है)।


Comments

Popular posts from this blog

python - rename keys in a dictionary -

windows - Heroku throws SQLITE3 Read only exception -

lex - Building a lexical Analyzer in Java -