जावा में तुलनीय क्या है?
जावा में तुलनीय दूसरी वस्तु के साथ तुलना करने के लिए एक वस्तु है। यह कस्टम ऑब्जेक्ट्स की सूची को सॉर्ट करने में मदद करता है। Java.lang.Comparable इंटरफ़ेस को उसके उदाहरणों की तुलना करने के लिए एक वर्ग द्वारा कार्यान्वित किया जाना चाहिए। एक तुलनीय इंटरफ़ेस को लागू करने वाली वस्तुओं की सरणी को Arrays.sort और Collections.sort तरीकों द्वारा स्वचालित रूप से सॉर्ट किया जाता है।
इस तुलना बनाम जावा ट्यूटोरियल में तुलनीय, आप सीखेंगे:
- जावा में तुलनीय क्या है?
- जावा में तुलनित्र क्या है?
- तुलनीय में प्रयुक्त विधि:
- तुलनित्र में प्रयुक्त विधि:
- जावा में तुलनीय बनाम तुलनित्र के बीच अंतर
- जावा में तुलनित्र और तुलना का उपयोग करते हुए सर्वश्रेष्ठ अभ्यास
जावा में तुलनित्र क्या है?
जावा में तुलनित्र विभिन्न वर्गों की विभिन्न वस्तुओं की तुलना करने के लिए एक वस्तु है। जावा में तुलनित्र इंटरफ़ेस का उपयोग उपयोगकर्ता-परिभाषित कक्षाओं की वस्तुओं को व्यवस्थित करने के लिए भी किया जाता है। इसमें दो महत्वपूर्ण तुलनित्र इंटरफ़ेस विधियां शामिल हैं जिन्हें तुलना (ऑब्जेक्ट obj1, ऑब्जेक्ट obj2) और बराबर (ऑब्जेक्ट तत्व) के रूप में जाना जाता है।
प्रमुख स्रोत:
- तुलनीय जावा में तत्वों को क्रमबद्ध करने के लिए तुलना () विधि प्रदान करता है जबकि तुलनाकर्ता जावा में तत्वों को क्रमबद्ध करने के लिए तुलना () विधि प्रदान करता है।
- तुलनीय इंटरफ़ेस java.lang पैकेज में मौजूद है जबकि तुलनात्मक इंटरफ़ेस java.util पैकेज में मौजूद है।
- तुलनीय एकल छँटाई अनुक्रम प्रदान करता है, जबकि तुलनित्र कई छँटाई क्रम प्रदान करता है।
- तुलनीय मूल वर्ग को प्रभावित करता है जबकि तुलनित्र मूल वर्ग को प्रभावित नहीं करता है।
तुलनीय में प्रयुक्त विधि:
निम्नलिखित तुलनात्मक इंटरफ़ेस में प्रयुक्त एक महत्वपूर्ण विधि है:
से तुलना करें():
तुलनात्मक () विधि का उपयोग स्ट्रिंग पर प्राकृतिक छंटाई करने के लिए किया जाता है। प्राकृतिक छँटाई का अर्थ है सॉर्ट क्रम जो वस्तु पर लागू होता है, जैसे, पूर्णांक के लिए संख्यात्मक क्रम, स्ट्रिंग के लिए वर्णानुक्रम क्रम, आदि।
तुलना () विधि का वाक्य विन्यास इस प्रकार है:
int compareTo(T obj)
उपरोक्त सिंटैक्स में, T उन वस्तुओं के प्रकार को दर्शाता है जिनकी आप तुलना करने जा रहे हैं।
तुलना () विधि T obj के साथ वस्तु की तुलना करती है।
आउटपुट:
- मानों के बराबर होने पर यह 0 देता है।
- मामले में, यदि वस्तु का मूल्य कम है, तो यह विधि एक नकारात्मक मान लौटाती है।
- यदि ऑब्जेक्ट का मान अधिक है, तो वह सकारात्मक मान लौटाता है।
तुलना () विधि उदाहरण:
जावा तुलनीय उदाहरण का निम्नलिखित कार्यक्रम दो वर्णों की तुलना करता है, "a" और "b"। वर्ण "a" वर्णानुक्रम में "b" से पहले आता है।
इसलिए, आउटपुट -1 है। वर्ण "बी" वर्णमाला के बाद आता है। इसलिए आउटपुट 1. चरित्र "ए" और "बी" दोनों समान हैं। इसलिए आउटपुट 0 है।
public class Sample_String {public static void main(String[] args) {String str_Sample = "a";System.out.println("Compare To 'a' b is : " + str_Sample.compareTo("b"));str_Sample = "b";System.out.println("Compare To 'b' a is : " + str_Sample.compareTo("a"));str_Sample = "b";System.out.println("Compare To 'b' b is : " + str_Sample.compareTo("b"));}}
उत्पादन
Compare To 'a' b is : -1Compare To 'b' a is : 1Compare To 'b' b is : 0
तुलनित्र में प्रयुक्त विधि:
तुलनित्र इंटरफेस में उपयोग किए जाने वाले महत्वपूर्ण तरीके निम्नलिखित हैं:
तुलना ():
तुलना () आपको ऑब्जेक्ट ऑर्डर करने में सक्षम बनाता है। ऐसा करने के लिए, आपको एक वर्ग बनाना होगा जो तुलनित्र इंटरफ़ेस लागू करता है। इसके बाद, आपको विधि की तुलना करने की आवश्यकता है।
तुलना का सिंटैक्स () विधि इस प्रकार है:
compare(Object obj1, Object obj2)
उपरोक्त सिंटैक्स में, obj1 और obj2 दो ऑब्जेक्ट हैं जिन्हें आपको तुलना () विधि का उपयोग करके करना है।
आउटपुट:
- यदि पहला तर्क दूसरे से कम है, तो यह एक नकारात्मक पूर्णांक देता है।
- पहला तर्क और दूसरा तर्क बराबर होने पर शून्य देता है।
- यह विधि एक सकारात्मक पूर्णांक लौटा सकती है, यदि पहला तर्क दूसरे से अधिक है।
आपको यह सुनिश्चित करना होगा कि संबंध संक्रामक है। उदाहरण के लिए, (((a, b)> 0) && (तुलना (b, c)> 0)) का अर्थ है तुलना (a, c)> 0।
तुलना विधि उदाहरण:
जावा तुलनित्र उदाहरण के नीचे कार्यक्रम में, 6 चर हैं। "x", "y", "p", "q", "r", और "s"। आउटपुट "x" के मान के रूप में -1 है, 20 "y" के मूल्य से कम है, 30। आउटपुट 0 है क्योंकि "p" का मूल्य, 40 "q" के मूल्य के बराबर है, 40 ।
import java.lang.Integer;public class example {public static void main(String args[]){int x = 20;int y = 30;// as 10 less than 20,// Output will be a value less than zeroSystem.out.println(Integer.compare(x, y));int p = 40;int q = 40;// as 30 equals 30,// Output will be zeroSystem.out.println(Integer.compare(p, q));int r = 20;int s = 7;// as 15 is greater than 8,// Output will be a value greater than zeroSystem.out.println(Integer.compare(r, s));}}
आउटपुट:
-101
बराबर ():
समान () सत्यापित करता है कि संख्या वस्तु वस्तु के बराबर है, जो एक तर्क के रूप में पारित की जाती है या नहीं।
बराबरी का सिंटैक्स () विधि इस प्रकार है:
सार्वजनिक बूलियन बराबर (ऑब्जेक्ट ओ)
यह विधि दो मापदंडों 1) किसी भी वस्तु 2) रिटर्न मान लेती है। यह सही है अगर पारित तर्क शून्य नहीं है और समान प्रकार के समान संख्यात्मक मान वाले ऑब्जेक्ट है।
बराबर विधि उदाहरण:
नीचे दिए गए उदाहरण में, हम एक दूसरे के साथ चार चर की तुलना कर रहे हैं। तीन चर प्रकार के पूर्णांक और लघु प्रकार के होते हैं। पहला परिणाम पी के मान के रूप में गलत है, जो 5 है, क्यू के मूल्य के बराबर नहीं है, जो कि 20 है।
दूसरा परिणाम सही है क्योंकि चर p और r का मान समान है, जो 5. है। अंतिम रूप से, आउटपुट गलत है, क्योंकि चर p और s में अलग-अलग निर्दिष्ट मान हैं।
public class Test {public static void main(String args[]) {Integer p = 5;Integer q = 20;Integer r =5;Short s = 5;System.out.println(p.equals(q));System.out.println(p.equals(r));System.out.println(p.equals(s));}}
उत्पादन
falsetruefalse
जावा में तुलनीय बनाम तुलनित्र के बीच अंतर

जावा में तुलनीय बनाम तुलनित्र के बीच अंतर
यहाँ जावा तुलनीय बनाम तुलनित्र के बीच मुख्य अंतर हैं:
तुलनीय | तुलनित्र |
तुलनीय जावा में तत्वों को क्रमबद्ध करने के लिए तुलना () विधि प्रदान करता है। | जावा में तत्वों को सॉर्ट करने के लिए कंपैरिज़र तुलना () विधि प्रदान करता है। |
तुलनीय इंटरफ़ेस java.lang पैकेज में मौजूद है। | तुलनित्र इंटरफ़ेस java.util पैकेज में मौजूद है। |
छंटाई का तर्क उसी वर्ग में होना चाहिए जिसकी वस्तु आप छांटने जा रहे हैं। | छँटाई का तर्क वस्तुओं की विभिन्न विशेषताओं के आधार पर अलग-अलग छँटाई लिखने के लिए अलग-अलग वर्ग में होना चाहिए। |
जिस वर्ग की वस्तुओं को आप क्रमबद्ध करना चाहते हैं, उसे तुलनीय इंटरफ़ेस लागू करना चाहिए। | वर्ग, जिनकी वस्तुओं को आप सॉर्ट करना चाहते हैं, उन्हें तुलनित्र इंटरफ़ेस लागू करने की आवश्यकता नहीं है। |
यह एकल छंटनी क्रम प्रदान करता है। | यह कई छंटनी क्रम प्रदान करता है। |
यह विधि प्राकृतिक सॉर्टिंग क्रम के अनुसार डेटा को सॉर्ट कर सकती है। | यह विधि डेटा को अनुकूलित छँटाई क्रम के अनुसार क्रमबद्ध करती है। |
यह मूल वर्ग को प्रभावित करता है। अर्थात, वास्तविक वर्ग में परिवर्तन किया जाता है। | यह मूल वर्ग को प्रभावित नहीं करता है, अर्थात, वास्तविक वर्ग को परिवर्तित नहीं किया जाता है। |
एपीआई में अक्सर लागू किया जाता है: कैलेंडर, आवरण कक्षाएं, तिथि और स्ट्रिंग। | यह तृतीय-पक्ष वर्गों के उदाहरणों को क्रमबद्ध करने के लिए लागू किया गया है। |
सभी आवरण वर्ग और स्ट्रिंग वर्ग तुलनीय इंटरफ़ेस को लागू करते हैं। | तुलनित्र का केवल कार्यान्वित वर्ग Collator और RuleBasedColator हैं। |
जावा में तुलनित्र और तुलना का उपयोग करते हुए सर्वश्रेष्ठ अभ्यास
- जब तुलना विशिष्ट वर्ग के लिए मानक हो तो एक तुलनीय इंटरफ़ेस का उपयोग करें।
- आप एक तुलनित्र के साथ लैम्ब्डा का उपयोग कर सकते हैं।
- कई मुख्य वर्ग एक तुलनात्मक इंटरफ़ेस लागू करते हैं।
- ट्रीसेट और ट्रीपैप का उपयोग करना संभव है या सेट या मैप को सॉर्ट करते समय।
- तुलनित्र () विधि तुलनित्र और साथ ही तुलनीय के साथ काम करती है।
- तुलनित्र इंटरफ़ेस का उपयोग केवल तब करें जब आपको <अधिक लचीलापन की आवश्यकता हो।
- तुलनात्मक () विधि एक सकारात्मक पूर्णांक लौटाएगी यदि पहली वस्तु दूसरे से अधिक है, तो नकारात्मक अगर यह कम है, और शून्य यदि दोनों समान हैं।