जावा प्रोग्राम प्रॉपर्टी द्वारा कस्टम ऑब्जेक्ट्स के एरियर लेल्ट को सॉर्ट करने के लिए

इस कार्यक्रम में, आप जावा में दी गई संपत्ति द्वारा कस्टम ऑब्जेक्ट की एक सरणी सूची को सॉर्ट करना सीखेंगे।

इस उदाहरण को समझने के लिए, आपको निम्नलिखित जावा प्रोग्रामिंग विषयों का ज्ञान होना चाहिए:

  • जावा क्लास और ऑब्जेक्ट्स
  • जावा अरेलिस्ट क्लास

उदाहरण: संपत्ति द्वारा कस्टम ऑब्जेक्ट्स के क्रमबद्ध छांटना

 import java.util.*; public class CustomObject ( private String customProperty; public CustomObject(String property) ( this.customProperty = property; ) public String getCustomProperty() ( return this.customProperty; ) public static void main(String() args) ( ArrayList list = new ArrayList(); list.add(new CustomObject("Z")); list.add(new CustomObject("A")); list.add(new CustomObject("B")); list.add(new CustomObject("X")); list.add(new CustomObject("Aa")); list.sort((o1, o2) -> o1.getCustomProperty().compareTo(o2.getCustomProperty())); for (CustomObject obj : list) ( System.out.println(obj.getCustomProperty()); ) ) )

आउटपुट

 A A BXZ

उपरोक्त कार्यक्रम में, हमने एक CustomObjectवर्ग को एक Stringसंपत्ति, customProperty के साथ परिभाषित किया है ।

हमने एक कंस्ट्रक्टर भी जोड़ा है जो प्रॉपर्टी को इनिशियलाइज़ करता है, और एक getCustomProperty()गेट्टर फंक्शन जो कस्टमप्रॉपर्टी देता है।

में main()विधि, हम कस्टम वस्तुओं सूची की एक सरणी सूची, 5 वस्तुओं के साथ प्रारंभ बना लिया है।

दी गई संपत्ति के साथ सूची को सॉर्ट करने के लिए, हम सूची की sort()विधि का उपयोग करते हैं। sort()विधि सूची क्रमबद्ध करना (अंतिम क्रमबद्ध सूची भी एक ही है) और एक लेता है comparator

हमारे मामले में, तुलनित्र एक लंबोदर है

  • सूची से दो ऑब्जेक्ट्स लेता है o1 और o2,
  • compareTo()विधि का उपयोग करके दो ऑब्जेक्ट के कस्टमप्रॉपर्टी की तुलना करता है ,
  • और अंत में सकारात्मक संख्या देता है यदि ओ 1 की संपत्ति ओ 2 से अधिक है, तो नकारात्मक अगर ओ 1 की संपत्ति ओ 2 की तुलना में कम है, और शून्य है यदि वे समान हैं।

इसके आधार पर, सूची को कम से कम सबसे बड़ी संपत्ति के आधार पर क्रमबद्ध किया जाता है और सूची में वापस संग्रहीत किया जाता है।

दिलचस्प लेख...