उदाहरण के साथ जावा में तुलनित्र इंटरफ़ेस क्या है?

Udaharana Ke Satha Java Mem Tulanitra Intarafesa Kya Hai



जावा में, तुलनित्र इंटरफ़ेस का उपयोग तुलनात्मक फ़ंक्शन को परिभाषित करने के लिए किया जाता है जिसका उपयोग वस्तुओं के संग्रह को सॉर्ट करने के लिए किया जा सकता है। यह प्राकृतिक क्रम के आधार पर डिफ़ॉल्ट तुलना के बजाय कस्टम मानदंड के आधार पर वस्तुओं को छाँटने की अनुमति देता है। इसमें जरूरतों के अनुसार कार्यों को अनुकूलित करने के लिए विभिन्न अनुप्रयोग हैं। यह लेख जावा में कई उदाहरणों के साथ तुलनित्र इंटरफ़ेस की व्याख्या करेगा।

उदाहरण के साथ जावा में तुलनित्र इंटरफ़ेस क्या है?

तुलनित्र इंटरफ़ेस में तुलना () और बराबर () विधियाँ हैं। पूर्णांक मान लौटाकर दो वस्तुओं की गणना करने के लिए पहली विधि का उपयोग किया जाता है। समानता के लिए दो तुलनित्र वस्तुओं की गणना के लिए दूसरी विधि का उपयोग किया जाता है।

जावा में तुलनित्र इंटरफ़ेस का उपयोग करने के विभिन्न उदाहरण यहां दिए गए हैं:







उदाहरण 1: लंबाई के आधार पर सूची को क्रमबद्ध करें

इस उदाहरण में, स्ट्रिंग्स की एक सूची पर विचार किया जाता है और उन्हें वर्णमाला क्रम के बजाय उनकी लंबाई के आधार पर क्रमबद्ध किया जाता है:



आयात java.util.ArrayList ;

आयात java.util.Collections ;

आयात java.util.तुलनित्र ;

आयात java.util.List ;

जनता कक्षा मुख्य {

जनता स्थिर खालीपन मुख्य ( डोरी [ ] तर्क ) {

सूची < डोरी > सूची = नया सारणी सूची <> ( ) ;

सूची। जोड़ना ( 'जॉन' ) ;

सूची। जोड़ना ( 'बॉब' ) ;

सूची। जोड़ना ( 'ऐलिस' ) ;

संग्रह . क्रम से लगाना ( सूची ) ;

प्रणाली . बाहर . println ( सूची ) ;

संग्रह . क्रम से लगाना ( सूची, नया स्ट्रिंग लम्बाई तुलनित्र ( ) ) ;

प्रणाली . बाहर . println ( सूची ) ;

}

} // एक वर्ग परिभाषित किया गया है

कक्षा स्ट्रिंग लम्बाई तुलनित्र औजार तुलनित्र < डोरी > {

जनता int यहाँ तुलना करना ( डोरी एस 1, डोरी एस 2 ) {

वापस करना पूर्णांक . तुलना करना ( s1. लंबाई ( ) , s2. लंबाई ( ) ) ;

}

}

उपरोक्त कोड का विवरण नीचे दिया गया है:



  • सबसे पहले, StringLengthComparator नामक एक कस्टम तुलनित्र वर्ग बनाएँ जो तुलनित्र <स्ट्रिंग> इंटरफ़ेस को लागू करता है।
  • यह दो तारों की लंबाई की तुलना करने के लिए तुलना () विधि को ओवरराइड करता है।
  • अंत में, हमारे कस्टम तुलनित्र का उपयोग करके सूची को क्रमबद्ध करने के लिए the.sort() विधि में एक उदाहरण पास करें।

उत्पादन





पहला आउटपुट प्राकृतिक क्रम का उपयोग करके सूची को सॉर्ट करने का परिणाम है, जबकि दूसरा आउटपुट प्रत्येक स्ट्रिंग की लंबाई के आधार पर हमारे कस्टम तुलनित्र का उपयोग करके सूची को सॉर्ट करने का परिणाम है।



उदाहरण 2: विशिष्ट क्षेत्र के आधार पर वस्तुओं को क्रमबद्ध करना

एक विशिष्ट क्षेत्र के आधार पर वस्तुओं को क्रमबद्ध करने के लिए एक अन्य उदाहरण आयोजित किया जाता है। इसे प्राप्त करने के लिए तुलनित्र इंटरफ़ेस का उपयोग किया जाता है:

आयात java.util.ArrayList ;

आयात java.util.Collections ;

आयात java.util.तुलनित्र ;

आयात java.util.List ;

जनता कक्षा मुख्य {

जनता स्थिर खालीपन मुख्य ( डोरी [ ] तर्क ) {

सूची < व्यक्ति > व्यक्तियों = नया सारणी सूची <> ( ) ; // नाम, आयु और वेतन असाइन करें

व्यक्तियों। जोड़ना ( नया व्यक्ति ( 'ऐलिस' , 25 , 50000 ) ) ;

व्यक्तियों। जोड़ना ( नया व्यक्ति ( 'बॉब' , 30 , 75000 ) ) ;

व्यक्तियों। जोड़ना ( नया व्यक्ति ( 'चार्ली' , बीस , 40000 ) ) ;

तुलनित्र < व्यक्ति > वेतनतुलनित्र = नया तुलनित्र < व्यक्ति > ( ) {

// वेतन के आधार पर व्यक्तियों को क्रमबद्ध करें

जनता int यहाँ तुलना करना ( व्यक्ति p1, व्यक्ति p2 ) {

वापस करना पूर्णांक . तुलना करना ( p2. getSalary ( ) , प1. getSalary ( ) ) ;

}

} ;

संग्रह . क्रम से लगाना ( व्यक्ति, वेतनतुलनित्र ) ; वापस करना मूल्यों को क्रमबद्ध करें

// व्यक्तियों की क्रमबद्ध सूची प्रिंट करें

के लिए ( व्यक्ति व्यक्ति : व्यक्तियों ) {

प्रणाली . बाहर . println ( व्यक्ति ) ;

}

}

}

कक्षा व्यक्ति { // नाम, आयु और वेतन को परिभाषित करें

निजी डोरी नाम ; // एक वर्ग के भीतर गुंजाइश
निजी int यहाँ आयु ;
निजी int यहाँ वेतन ;

जनता व्यक्ति ( डोरी नाम, int यहाँ आयु, int यहाँ वेतन ) {
यह . नाम = नाम ;
यह . आयु = आयु ;
यह . वेतन = वेतन ;
}
जनता डोरी getName ( ) {
वापस करना नाम ;
}
जनता int यहाँ getAge ( ) {
वापस करना आयु ;
}
जनता int यहाँ getSalary ( ) {
वापस करना वेतन ;
}
जनता डोरी स्ट्रिंग ( ) {
वापस करना नाम + ' (आयु ' + आयु + ', वेतन $' + वेतन + ')' ;
}
}

कोड का विवरण नीचे दिया गया है:

  • एक वर्ग 'कहा जाता है' व्यक्ति 'तीन क्षेत्रों के साथ:' नाम ”, “ आयु ', और ' वेतन ' माना जाता है।
  • उसके बाद, अवरोही क्रम में उनके वेतन के आधार पर व्यक्ति वस्तुओं का संग्रह क्रमबद्ध करें।

उत्पादन

आउटपुट से पता चलता है कि वेतन अवरोही क्रम के अनुसार क्रमबद्ध किया गया है।

निष्कर्ष

जावा में, तुलनित्र इंटरफ़ेस एक शक्तिशाली उपकरण है जो उपयोगकर्ताओं को कस्टम मानदंड के आधार पर वस्तुओं को सॉर्ट करने की अनुमति देता है। यह तुलना () पद्धति को ओवरराइड करता है, उपयोगकर्ता अपने स्वयं के तुलना फ़ंक्शन को परिभाषित कर सकते हैं और विभिन्न तरीकों से वस्तुओं के संग्रह को सॉर्ट करने के लिए इसका उपयोग कर सकते हैं। इस लेख में जावा में व्यावहारिक उदाहरणों के साथ तुलनित्र इंटरफ़ेस की व्याख्या की गई है।