अनुशंसित, 2019

संपादक की पसंद

जावा में तुलना और तुलना के बीच अंतर

तुलनीय और तुलनात्मक दोनों जावा वस्तुओं के डेटा तत्वों की तुलना करने के लिए उपयोग किए जाने वाले जावा में सामान्य इंटरफेस हैं। तुलनात्मक इंटरफ़ेस java.lang पैकेज में मौजूद है और तुलनात्मक इंटरफ़ेस java.util पैकेज में मौजूद है। तुलनात्मक और तुलनात्मक इंटरफेस के बीच मूल अंतर यह है कि तुलनात्मक इंटरफ़ेस एकल छँटाई अनुक्रम प्रदान करता है, जबकि, तुलनात्मक इंटरफ़ेस कई छँटाई क्रम प्रदान करता है। तुलनीय और तुलनात्मक इंटरफ़ेस के बीच कुछ अन्य अंतर हैं जो हम तुलना चार्ट में अध्ययन करेंगे।

तुलना चार्ट

तुलना के लिए आधारतुलनीयतुलनित्र
बुनियादीतुलनात्मक इंटरफ़ेस केवल एकल क्रमबद्ध अनुक्रम की अनुमति देता है।तुलनित्र इंटरफ़ेस कई क्रमबद्ध दृश्यों की अनुमति देता है।
संकुलतुलना इंटरफ़ेस java.lang पैकेज में मौजूद है।तुलनित्र इंटरफ़ेस java.util पैकेज में मौजूद है।
तरीकेतुलनात्मक इंटरफ़ेस में केवल एक विधि शामिल है
सार्वजनिक int तुलना (ऑब्जेक्ट obj);
तुलनित्र इंटरफ़ेस में दो विधियाँ शामिल हैं
सार्वजनिक int तुलना (ऑब्जेक्ट obj1, ऑब्जेक्ट obj2)
बूलियन बराबर (ऑब्जेक्ट obj)
कार्यान्वयनतुलनात्मक इंटरफ़ेस उस वर्ग द्वारा कार्यान्वित किया जाता है जिसकी वस्तुओं की तुलना की जानी है।तुलनित्र इंटरफ़ेस को वर्ग के बजाय एक स्पैर्ट क्लास द्वारा लागू किया जाता है, जिनकी वस्तुओं की तुलना की जानी है।
तुलनाComparTo (ऑब्जेक्ट obj) विधि उस ऑब्जेक्ट की तुलना करती है जो विधि को निर्दिष्ट ऑब्जेक्ट पास करने के लिए विधि को लागू करने के लिए उपयोग किया जाता है।तुलना (ऑब्जेक्ट obj1, ऑब्जेक्ट obj2) विधि दोनों निर्दिष्ट वस्तुओं की तुलना करती है जो विधि से पारित होती हैं।
सूची / सरणीजब तुलनीय प्रकार की वस्तु की सूची की तुलना की जाती है तो संग्रह वर्ग एक विधि प्रदान करता है अर्थात Collections.sort (सूची lst)।जब तुलनात्मक प्रकार की वस्तुओं की सूची की तुलना करना पड़ता है तो संग्रह वर्ग एक विधि प्रदान करता है
संग्रह.शॉर्ट (सूची, तुलनित्र)।

तुलना की परिभाषा

तुलनीय एक इंटरफ़ेस है जो java.lang पैकेज में उपलब्ध है। एक वर्ग प्राकृतिक वस्तु में अपनी वस्तु को क्रमबद्ध करने के लिए तुलनित्र इंटरफेस को लागू करता है। वस्तुओं को प्राकृतिक क्रम में क्रमबद्ध किया जाता है, जिसका अर्थ है कि वस्तुओं की तुलना उनके ASCII मूल्यों से की जाती है। तुलनात्मक इंटरफ़ेस को लागू करने वाली कक्षाएं बाइट, कैरेक्टर, डबल, फ्लोट, लॉन्ग, शॉर्ट, स्ट्रिंग और इंटेगर क्लास हैं। यहां तक ​​कि दिनांक और कैलंडर वर्ग भी तुलनात्मक इंटरफ़ेस को लागू करता है।

तुलनात्मक इंटरफ़ेस में केवल एक विधि है जो कि ComparTo (ऑब्जेक्ट obj) है। यह विधि पैरामीटर में निर्दिष्ट ऑब्जेक्ट के साथ विधि को लागू करने के लिए उपयोग की गई वस्तु की तुलना करती है। विधि का सिंटैक्स निम्नानुसार है:

 सार्वजनिक int तुलना (ऑब्जेक्ट obj); 

तुलनात्मक (ऑब्जेक्ट ओब्ज) विधि रिटर्न 0, जब विधि की तुलना में दोनों ऑब्जेक्ट में समान मूल्य होता है, तो यह लौटाता है - यदि इन्वोकिंग ऑब्जेक्ट छोटे से अधिक है तो निर्दिष्ट ऑब्जेक्ट और रिटर्न + वी वैल्यू यदि इन्वोकिंग ऑब्जेक्ट अधिक से अधिक है निर्दिष्ट ऑब्जेक्ट की तुलना में मूल्य। संग्रह वर्ग सूची के तत्वों को सॉर्ट करने के लिए एक तरह की विधि प्रदान करता है। तुलनीय प्रकार के सूची (और सरणी) तत्वों को "कलेक्शन.सॉर्ट (सूची lst)" विधि का उपयोग करके सॉर्ट किया जा सकता है।

तुलनित्र की परिभाषा

तुलनित्र एक अंतरफलक है जो java.util पैकेज में उपलब्ध है। इंटरफ़ेस तुलनित्र को उस वर्ग पर लागू नहीं किया जाता है, जिसकी वस्तुओं की तुलना अलग-अलग वर्ग से की जाती है, तुलनाकर्ता इंटरफ़ेस को लागू करता है, ताकि वस्तु के प्रत्येक डेटा तत्व में छंटनी का तर्क भिन्न वर्ग में लागू हो। तुलनित्र में दो विधियाँ शामिल हैं:

 सार्वजनिक int तुलना (ऑब्जेक्ट obj1, ऑब्जेक्ट obj2) और बूलियन बराबर (ऑब्जेक्ट obj) 

ऊपर की तुलना () विधि पहले ऑब्जेक्ट obj1 की तुलना करती है, दूसरी ऑब्जेक्ट obj2 के साथ। तुलना () विधि वापसी 0 जब विधि द्वारा तुलना की गई दोनों वस्तु में समान मान होता है, तो यह लौटाता है-यदि ऑब्जेक्ट obj1 वस्तु से छोटा है, तो ऑब्जेक्ट obj2 और रिटर्न + वी वैल्यू यदि ऑब्जेक्ट obj1 की तुलना में अधिक मूल्य है। ऑब्जेक्ट के लिए obj2। निर्दिष्ट ऑब्जेक्ट के बराबर होने पर बराबर () विधियाँ जाँचती हैं। बराबर () विधि वापस आती है यदि दोनों की तुलना की गई वस्तुएं समान हैं और यह झूठी है । संग्रह वर्ग सूची और तुलनित्र प्रकार के तत्वों को छांटने के लिए विधि प्रदान करता है। तुलनित्र प्रकारों के सूची तत्वों को छांटा जाता है विधि Collections.sort (सूची, तुलनित्र)।

तुलना और तुलना के बीच मुख्य अंतर

  1. तुलनीय इंटरफ़ेस एकल सॉर्टिंग अनुक्रम की अनुमति देता है, जिसका अर्थ है कि आप तुलना में ऑब्जेक्ट के केवल एक डेटा तत्व की तुलना कर सकते हैं () दूसरी तरफ तुलनात्मक इंटरफ़ेस इंटरफ़ेस कई सॉर्टिंग अनुक्रमों की अनुमति देता है, जिसका अर्थ है कि आप ऑब्जेक्ट के कई डेटा तत्वों की तुलना कर सकते हैं।
  2. तुलनीय इंटरफ़ेस उस वर्ग द्वारा कार्यान्वित किया जाता है, जिसकी वस्तुओं की तुलना की जानी है क्योंकि छँटाई तर्क को उसी कक्षा के अंदर परिभाषित किया गया है। दूसरी ओर, तुलनित्र इंटरफ़ेस उस वर्ग द्वारा लागू नहीं किया जाता है जिसकी वस्तुओं की तुलना की जाती है क्योंकि छँटाई तर्क को अलग-अलग वर्गों में परिभाषित किया जाता है जहाँ प्रत्येक वर्ग वस्तु के एकल डेटा तत्व पर छँटाई करता है और ये परिभाषित वर्ग तुलनात्मक इंटरफ़ेस को लागू करता है। ।
  3. तुलनीय इंटरफ़ेस java.lang पैकेज के अंदर है, जबकि तुलनित्र इंटरफ़ेस java.util पैकेज के अंदर स्थित है।
  4. तुलनात्मक इंटरफ़ेस केवल एक विधि की तुलना करता है जो तुलनात्मक (ऑब्जेक्ट ऑब्ज) की घोषणा करता है, जबकि, तुलनात्मक इंटरफ़ेस दो तरीकों की घोषणा करता है जो तुलना करते हैं (ऑब्जेक्ट obj1, ऑब्जेक्ट obj2) और बराबर (ऑब्जेक्ट obj)।
  5. तुलनीय (ऑब्जेक्ट obj) विधि तुलनात्मक विधि में ऑब्जेक्ट को लागू करने के लिए निर्दिष्ट ऑब्जेक्ट के साथ इन्वोकेशन विधि की तुलना में पारित किया गया है, जबकि, (Object obj1, Object obj2) की तुलना की विधि ऑब्जेक्ट्स obj1 की तुलना obj2 कि विधि से पारित कर दी है।
  6. संग्रह वर्ग तुलनात्मक प्रकार की वस्तुओं को सॉर्ट करने के लिए एक छँटाई विधि “Collections.sort (सूची lst)” प्रदान करता है। संग्रह वर्ग, संकलक प्रकार की वस्तुओं को सॉर्ट करने के लिए कलेक्शन विधि कलेक्शन.सोर्ट (सूची, तुलनित्र) प्रदान करता है।

निष्कर्ष:

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

Top