జావాలో పోల్చదగిన మరియు పోలిక మధ్య వ్యత్యాసం
విషయము
పోల్చదగిన మరియు పోల్చదగిన రెండూ జావాలోని సాధారణ ఇంటర్ఫేస్లు, వస్తువుల డేటా మూలకాలను పోల్చడానికి ఉపయోగిస్తారు. పోల్చదగిన ఇంటర్ఫేస్ java.lang ప్యాకేజీలో ఉంది మరియు కంపారిటర్ ఇంటర్ఫేస్ java.util ప్యాకేజీలో ఉంది. పోల్చదగిన మరియు కంపారిటర్ ఇంటర్ఫేస్ల మధ్య ప్రాథమిక వ్యత్యాసం ఏమిటంటే, పోల్చదగిన ఇంటర్ఫేస్ సింగిల్ సార్టింగ్ క్రమాన్ని అందిస్తుంది, అయితే కంపారిటర్ ఇంటర్ఫేస్ బహుళ సార్టింగ్ సీక్వెన్స్లను అందిస్తుంది. పోల్చదగిన మరియు కంపారిటర్ ఇంటర్ఫేస్ మధ్య కొన్ని ఇతర తేడాలు ఉన్నాయి, వీటిని మేము పోలిక చార్టులో అధ్యయనం చేస్తాము.
- పోలిక చార్ట్
- నిర్వచనం
- కీ తేడాలు
- ముగింపు
పోలిక చార్ట్
పోలిక కోసం ఆధారం | పోల్చదగిన | comparator |
---|---|---|
ప్రాథమిక | పోల్చదగిన ఇంటర్ఫేస్ ఒకే సార్టింగ్ క్రమాన్ని మాత్రమే అనుమతిస్తుంది. | కంపారిటర్ ఇంటర్ఫేస్ బహుళ సార్టింగ్ సన్నివేశాలను అనుమతిస్తుంది. |
ప్యాకేజీలు | పోల్చదగిన ఇంటర్ఫేస్ java.lang ప్యాకేజీలో ఉంది. | కంపారిటర్ ఇంటర్ఫేస్ java.util ప్యాకేజీలో ఉంది. |
పద్ధతులు | పోల్చదగిన ఇంటర్ఫేస్ ఒకే పద్ధతిని కలిగి ఉంది పబ్లిక్ ఇంటెంట్ పోలిక (ఆబ్జెక్ట్ ఆబ్జెక్ట్); | కంపారిటర్ ఇంటర్ఫేస్ రెండు పద్ధతులను కలిగి ఉంది public int పోల్చండి (ఆబ్జెక్ట్ ఆబ్జెక్ట్ 1, ఆబ్జెక్ట్ ఆబ్జెక్ట్ 2) బూలియన్ సమానం (ఆబ్జెక్ట్ ఆబ్జెక్ట్) |
అమలు | పోల్చదగిన ఇంటర్ఫేస్ తరగతి ద్వారా ఎవరి వస్తువులను పోల్చాలి. | కంపారిటర్ ఇంటర్ఫేస్ ఒక వస్తువుతో పోల్చవలసిన తరగతికి బదులుగా ఒక స్పెరేట్ క్లాస్ చేత అమలు చేయబడుతుంది. |
పోలిక | CompareTo (ఆబ్జెక్ట్ ఆబ్జెక్ట్) పద్ధతి పేర్కొన్న వస్తువుతో పద్ధతిని అమలు చేయడానికి ఉపయోగించే వస్తువును పోల్చి చూస్తుంది. | పోలిక (ఆబ్జెక్ట్ ఆబ్జెక్ట్ 1, ఆబ్జెక్ట్ ఆబ్జెక్ట్ 2) పద్ధతి పద్ధతికి పంపిన పేర్కొన్న రెండు వస్తువులను పోల్చండి. |
జాబితా / అర్రే | పోల్చదగిన రకం యొక్క వస్తువు యొక్క జాబితాను పోల్చవలసి వచ్చినప్పుడు కలెక్షన్ క్లాస్ ఒక పద్ధతిని అందిస్తుంది, అనగా కలెక్షన్స్.సార్ట్ (జాబితా lst). | పోల్చదగిన రకం వస్తువుల జాబితాను పోల్చవలసి వచ్చినప్పుడు కలెక్షన్ క్లాస్ ఒక పద్ధతిని అందిస్తుంది. Collections.sort (జాబితా, కంపారిటర్). |
పోల్చదగిన నిర్వచనం
పోల్చదగినది java.lang ప్యాకేజీలో లభించే ఇంటర్ఫేస్. ఒక తరగతి దాని వస్తువును సహజ క్రమంలో క్రమబద్ధీకరించడానికి కంపారిటర్ ఇంటర్ఫేస్ను అమలు చేస్తుంది. వస్తువులు సహజ క్రమంలో క్రమబద్ధీకరించబడతాయి అంటే వస్తువులు వాటి ASCII విలువలతో పోల్చబడతాయి. పోల్చదగిన ఇంటర్ఫేస్ను అమలు చేసే తరగతులు బైట్, క్యారెక్టర్, డబుల్, ఫ్లోట్, లాంగ్, షార్ట్, స్ట్రింగ్ మరియు ఇంటీజర్ క్లాసులు. తేదీ మరియు కాలాండర్ తరగతి కూడా పోల్చదగిన ఇంటర్ఫేస్ను అమలు చేస్తుంది.
పోల్చదగిన ఇంటర్ఫేస్లో కంపేర్టో (ఆబ్జెక్ట్ ఆబ్జెక్ట్) అనే ఒక పద్ధతి మాత్రమే ఉంది. ఈ పద్ధతి పరామితిలో పేర్కొన్న వస్తువుతో పద్ధతిని అమలు చేయడానికి ఉపయోగించే వస్తువును పోలుస్తుంది. పద్ధతి యొక్క వాక్యనిర్మాణం క్రింది విధంగా ఉంటుంది:
పబ్లిక్ ఇంటెంట్ పోలిక (ఆబ్జెక్ట్ ఆబ్జెక్ట్);
కంపేర్టో (ఆబ్జెక్ట్ ఆబ్జెక్ట్) పద్ధతి తిరిగి వస్తుంది 0, పద్ధతి ద్వారా పోల్చబడిన రెండు వస్తువులు ఒకే విలువను కలిగి ఉన్నప్పుడు, అది తిరిగి వస్తుంది -ve ఇన్వోకింగ్ ఆబ్జెక్ట్ పేర్కొన్న వస్తువు కంటే తక్కువగా ఉంటే విలువ మరియు తిరిగి వస్తుంది + ve పేర్కొన్న వస్తువుతో పోల్చితే ఇన్వోకింగ్ ఆబ్జెక్ట్ ఎక్కువ విలువను కలిగి ఉంటే విలువ. కలెక్షన్స్ క్లాస్ జాబితా యొక్క అంశాలను క్రమబద్ధీకరించడానికి ఒక విధమైన పద్ధతిని అందిస్తుంది. పోల్చదగిన రకం యొక్క జాబితా (మరియు శ్రేణి) అంశాలు “Collections.sort (List lst)” పద్ధతిని ఉపయోగించి క్రమబద్ధీకరించవచ్చు.
కంపారిటర్ యొక్క నిర్వచనం
కంపారిటర్ అనేది java.util ప్యాకేజీలో లభించే ఇంటర్ఫేస్. ఇంటర్ఫేస్ కంపారిటర్ తరగతిపై అమలు చేయబడదు, దీని వస్తువులను పోల్చడానికి బదులుగా ప్రత్యేక తరగతి కంపారిటర్ ఇంటర్ఫేస్ను అమలు చేస్తుంది, తద్వారా సార్టింగ్ లాజిక్ వేరే తరగతిలోని వస్తువు యొక్క ప్రతి డేటా మూలకానికి వర్తించబడుతుంది. కంపారిటర్ ఈ క్రింది విధంగా రెండు పద్ధతులను కలిగి ఉంది:
పబ్లిక్ ఇంటెంట్ పోల్చండి (ఆబ్జెక్ట్ ఆబ్జెక్ట్ 1, ఆబ్జెక్ట్ ఆబ్జెక్ట్ 2) మరియు బూలియన్ ఈక్వల్స్ (ఆబ్జెక్ట్ ఆబ్జెక్ట్)
పై పోలిక () పద్ధతి మొదటి ఆబ్జెక్ట్ ఆబ్జెక్ట్ 1 తో, రెండవ ఆబ్జెక్ట్ ఆబ్జెక్ట్ 2 తో పోలుస్తుంది. పోల్చండి () పద్ధతి తిరిగి 0 పద్ధతి ద్వారా పోల్చబడిన వస్తువు రెండూ ఒకే విలువను కలిగి ఉన్నప్పుడు, అది తిరిగి వస్తుంది -ve ఆబ్జెక్ట్ ఆబ్జెక్ట్ 1 కన్నా చిన్నది అయితే ఆబ్జెక్ట్ ఆబ్జెక్ట్ 2 తిరిగి వస్తుంది + ve ఆబ్జెక్ట్ ఆబ్జెక్ట్ 2 తో పోలిస్తే ఆబ్జెక్ట్ ఆబ్జెక్ట్ 1 కి ఎక్కువ విలువ ఉంటే విలువ. పేర్కొన్న వస్తువు ఇన్వోకింగ్ వస్తువుకు సమానంగా ఉంటే సమానం () పద్ధతులు తనిఖీ చేస్తాయి. సమానం () పద్ధతి రిటర్న్ నిజమైన పోల్చిన వస్తువులు రెండూ సమానంగా ఉంటే అది తిరిగి వస్తుంది తప్పుడు. కలెక్షన్స్ క్లాస్ జాబితా మరియు కంపారిటర్ రకం యొక్క అంశాలను క్రమబద్ధీకరించడానికి పద్ధతిని అందిస్తుంది. కంపారిటర్ రకాల జాబితా అంశాలు b y పద్ధతి Collections.sort (జాబితా, పోలిక) క్రమబద్ధీకరించబడతాయి.
- పోల్చదగిన ఇంటర్ఫేస్ సింగిల్ సార్టింగ్ సీక్వెన్స్ను అనుమతిస్తుంది, అంటే మీరు మరోవైపు పోలిక () పద్ధతిలో ఆబ్జెక్ట్ యొక్క ఒకే డేటా ఎలిమెంట్ను మాత్రమే పోల్చవచ్చు. కంపారిటర్ ఇంటర్ఫేస్ బహుళ సార్టింగ్ సీక్వెన్స్లను అనుమతిస్తుంది, అంటే మీరు ఆబ్జెక్ట్ యొక్క బహుళ డేటా ఎలిమెంట్లను పోల్చవచ్చు.
- పోల్చదగిన ఇంటర్ఫేస్ తరగతి చేత అమలు చేయబడుతుంది, దీని వస్తువులను పోల్చాలి ఎందుకంటే సార్టింగ్ లాజిక్ ఒకే తరగతి లోపల నిర్వచించబడుతుంది. మరోవైపు, కంపారిటర్ ఇంటర్ఫేస్ తరగతి ద్వారా అమలు చేయబడదు, ఎందుకంటే సార్టింగ్ లాజిక్ ప్రత్యేక తరగతులలో నిర్వచించబడుతుంది, ఇక్కడ ప్రతి తరగతి వస్తువు యొక్క ఒకే డేటా మూలకంపై క్రమబద్ధీకరించడాన్ని నిర్వచిస్తుంది మరియు ఈ నిర్వచించే తరగతులు కంపారిటర్ ఇంటర్ఫేస్ను అమలు చేస్తాయి .
- పోల్చదగిన ఇంటర్ఫేస్ java.lang ప్యాకేజీ లోపల ఉంది, అయితే కంపారిటర్ ఇంటర్ఫేస్ java.util ప్యాకేజీ లోపల ఉంది.
- పోల్చదగిన ఇంటర్ఫేస్ పోల్చదగిన (ఆబ్జెక్ట్ ఆబ్జెక్ట్) ఒక పద్ధతిని మాత్రమే ప్రకటిస్తుంది, అయితే, కంపారిటర్ ఇంటర్ఫేస్ రెండు పద్ధతులను ప్రకటిస్తుంది, అవి పోల్చండి (ఆబ్జెక్ట్ ఆబ్జెక్ట్ 1, ఆబ్జెక్ట్ ఆబ్జెక్ట్ 2) మరియు సమానం (ఆబ్జెక్ట్ ఆబ్జెక్ట్).
- కంపారిబుల్లోని కంపారిటో (ఆబ్జెక్ట్ ఆబ్జెక్ట్) పద్ధతి పద్ధతికి పంపిన పేర్కొన్న వస్తువుతో పోల్చిన పద్ధతిని పోల్చి చూస్తుంది, అయితే, కంపారిటర్ యొక్క పోలిక (ఆబ్జెక్ట్ ఆబ్జెక్ట్ 1, ఆబ్జెక్ట్ ఆబ్జెక్ట్ 2) పద్ధతి ఆబ్జెక్ట్ 1 తో ఆబ్జెక్ట్ 2 తో పోల్చబడుతుంది.
- పోల్చదగిన రకం యొక్క వస్తువులను క్రమబద్ధీకరించడానికి కలెక్షన్స్ క్లాస్ “కలెక్షన్స్.సోర్ట్ (జాబితా lst)” అనే సార్టింగ్ పద్ధతిని అందిస్తుంది. కలెక్షన్స్ క్లాస్ కంపార్టర్ రకం వస్తువులను క్రమబద్ధీకరించడానికి సార్టింగ్ పద్ధతిని కలెక్షన్స్.సోర్ట్ (జాబితా, కంపారిటర్) అందిస్తుంది.
ముగింపు:
మీరు సహజ క్రమంలో వస్తువులను క్రమబద్ధీకరించాలనుకుంటే, మీరు పోల్చదగిన ఇంటర్ఫేస్ను ఉపయోగించవచ్చు, లేకపోతే మీరు ఏదైనా లక్షణం ఆధారంగా వస్తువులను క్రమబద్ధీకరించాలనుకుంటున్నారు, అప్పుడు కంపారిటర్ ఇంటర్ఫేస్ ఉపయోగించబడుతుంది.