జావాలో హాష్ మ్యాప్ మరియు లింక్డ్ హాష్ మ్యాప్ మధ్య తేడా
విషయము
హాష్ మ్యాప్ మరియు లింక్డ్ హాష్ మ్యాప్ తరగతులు, ఒకదానికొకటి సమానంగా ఉంటాయి మరియు మ్యాప్ సృష్టించడానికి ఉపయోగిస్తారు. మ్యాప్లోని మూలకాలను నిల్వ చేయడానికి హాష్ పట్టికను ఉపయోగించడానికి హాష్ మ్యాప్ క్లాస్ అబ్స్ట్రాక్ట్ మ్యాప్ క్లాస్ని విస్తరించింది. లింక్డ్ హాష్ మ్యాప్ క్లాస్ వారి చొప్పించే క్రమం ఆధారంగా మ్యాప్లోని ఎంట్రీలను నిర్వహిస్తుంది. హాష్ మ్యాప్ మరియు లింక్డ్ హాష్ మ్యాప్ ను ఒకదానికొకటి వేరుచేసే లక్షణం అది hashmap మ్యాప్లో నిల్వ చేసిన ఎంట్రీల క్రమాన్ని నిర్వహించదు. మరోవైపు, LinkedHashMap ఎంట్రీల క్రమాన్ని నిర్వహించడానికి హైబ్రిడ్ డేటా నిర్మాణాన్ని ఉపయోగిస్తుంది. దిగువ పోలిక చార్టులో నేను హాష్ మ్యాప్ మరియు లింక్డ్ హాష్ మ్యాప్ మధ్య కొన్ని ఇతర తేడాలను అన్వేషించాను.
- పోలిక చార్ట్
- నిర్వచనం
- కీ తేడాలు
- ముగింపు
పోలిక చార్ట్
పోలిక కోసం ఆధారం | hashmap | LinkedHashMap |
---|---|---|
ప్రాథమిక | హాష్ మ్యాప్లో చొప్పించే క్రమం భద్రపరచబడలేదు. | చొప్పించే క్రమం లింక్డ్ హాష్ మ్యాప్లో భద్రపరచబడింది. |
డేటా నిర్మాణం | మ్యాప్లను నిల్వ చేయడానికి హాష్ మ్యాప్ హ్యాష్టేబుల్ను ఉపయోగిస్తుంది. | మ్యాప్ను నిల్వ చేయడానికి లింక్డ్ హాష్ మ్యాప్ లింక్డ్ లిస్ట్తో పాటు హ్యాష్టేబుల్ను ఉపయోగిస్తుంది. |
/ ఇంప్లిమెంటేషన్ తో విస్తరించి | హాష్ మ్యాప్ అబ్స్ట్రాక్ట్ మ్యాప్ ను విస్తరించింది మరియు మ్యాప్ ఇంటర్ఫేస్ను అమలు చేస్తుంది. | లింక్డ్ హాష్ మ్యాప్ హాష్ మ్యాప్ ను విస్తరించింది. |
వెర్షన్ | JDK 2.0 లో హాష్ మ్యాప్ ప్రవేశపెట్టబడింది. | లింక్డ్ హాష్ మ్యాప్ JDK 4.0 లో ప్రవేశపెట్టబడింది. |
ఓవర్హెడ్ | తులనాత్మకంగా తక్కువ ఓవర్ హెడ్. | తులనాత్మకంగా మరింత ఓవర్ హెడ్ ఎందుకంటే ఇది మ్యాప్ ఎంట్రీల క్రమాన్ని నిర్వహించాలి. |
హాష్ మ్యాప్ యొక్క నిర్వచనం
హాష్ మ్యాప్ అనేది మ్యాప్ను సృష్టించడానికి ఉపయోగించే తరగతి. ఇది అమలు చేస్తుంది మ్యాప్ ఇంటర్ఫేస్. ఇది కూడా విస్తరించింది AbstractMap తరగతి కాబట్టి ఇది మ్యాప్లోని ఎంట్రీలను నిల్వ చేయడానికి హాష్ పట్టికను ఉపయోగించవచ్చు. మ్యాప్ యొక్క ఎంట్రీలు a హాష్ మ్యాప్లోని ఎంట్రీల చొప్పించే క్రమం భద్రపరచబడలేదు. హాష్ మ్యాప్ ఉపయోగించి సృష్టించబడిన మ్యాప్లోని ఎంట్రీల చొప్పించడం ఎంట్రీలలోని కీల ద్వారా లెక్కించిన హాష్ కోడ్ ఆధారంగా ఉంటుంది. పొరపాటున మీరు హాష్ మ్యాప్లో డూప్లికేట్ కీని ఎంటర్ చేస్తే, అది ఆ కీ యొక్క మునుపటి విలువను ప్రతిపాదించిన కొత్త విలువతో భర్తీ చేస్తుంది మరియు పాత విలువను తిరిగి ఇస్తుంది. నకిలీ కీ ఉపయోగించబడకపోతే మరియు పున ment స్థాపన జరగకపోతే, కీ ఎల్లప్పుడూ శూన్యతను అందిస్తుంది. కింది ఉదాహరణతో హాష్ మ్యాప్కు ఎంట్రీలను ఎలా జోడించాలో చూద్దాం. హాష్మ్యాప్ hm = కొత్త హ్యాష్మ్యాప్ (); hm.put ("అజయ్", 275); hm.put ("విజయ్", 250); hm.put ("జానీ", 150); hm.put ("జోర్డాన్", 200); System.out.ln (hm); / * అవుట్పుట్ * / {విజయ్ = 250, జానీ = 150, అజయ్ = 275, జోర్డాన్ = 200} పై కోడ్లో మాదిరిగా, నేను హాష్ మ్యాప్ యొక్క ఒక వస్తువును సృష్టించాను మరియు పుట్స్ పద్ధతిని ఉపయోగించి ఎంట్రీలను జోడించాను మరియు నేను హాష్ మ్యాప్ ఆబ్జెక్ట్ను సవరించినప్పుడు, ఎంట్రీలు అవి చొప్పించిన క్రమంలో సవరించబడవు. అందువల్ల, హాష్ మ్యాప్లోని ఎంట్రీల క్రమం తిరిగి వస్తుందని మీరు నటించలేరు. హాష్ మ్యాప్ మ్యాప్ ఇంటర్ఫేస్ మరియు అబ్స్ట్రాక్ట్ మ్యాప్ క్లాస్ యొక్క అన్ని పద్ధతులను ఉపయోగిస్తుంది మరియు కొత్త పద్ధతిని ప్రవేశపెట్టదు; దీనికి దాని స్వంత కన్స్ట్రక్టర్లు ఉన్నారు. హాష్ మ్యాప్ యొక్క డిఫాల్ట్ సామర్థ్యం 16 మరియు డిఫాల్ట్ పూరక నిష్పత్తి 0.75. లింక్డ్ హాష్ మ్యాప్ కూడా మ్యాప్ను సృష్టించడానికి తరగతి ఉపయోగం. లింక్డ్ హాష్ మ్యాప్ విస్తరించింది hashmap తరగతి మరియు తరువాత JDK వెర్షన్ 4.0 లో హాష్ మ్యాప్కు పరిచయం చేయబడింది. హాష్ మ్యాప్ క్లాస్ లింక్డ్ హాష్ మ్యాప్ యొక్క చైల్డ్ క్లాస్ కావడం కన్స్ట్రక్టర్లు మరియు పద్ధతులతో సహా హాష్ మ్యాప్ క్లాస్ లాగానే ఉంటుంది. కానీ, లింక్డ్ హాష్ మ్యాప్ మ్యాప్లోని ఎంట్రీలను చొప్పించే క్రమాన్ని నిర్వహిస్తుందనే కోణంలో భిన్నంగా ఉంటుంది. మ్యాప్ను నిల్వ చేయడానికి లింక్డ్ హాష్ మ్యాప్ ఉపయోగించే డేటా నిర్మాణం లింక్ చేసిన జాబితా మరియు హాష్ టేబుల్. హాష్ మ్యాప్ ద్వారా వారసత్వంగా పొందిన పద్ధతులతో పాటు, లింక్డ్ హాష్ మ్యాప్ ఒక కొత్త పద్ధతిని పరిచయం చేస్తుంది removeEldestEntry (). మ్యాప్లోని పురాతన ఎంట్రీని తొలగించడానికి ఈ పద్ధతి ఉపయోగించబడుతుంది. లింక్డ్ హాష్ మ్యాప్ యొక్క డిఫాల్ట్ సామర్థ్యం 16, మరియు డిఫాల్ట్ పూరక నిష్పత్తి 0.75, ఇది హాష్ మ్యాప్ క్లాస్ మాదిరిగానే ఉంటుంది.
లింక్డ్ హాష్ మ్యాప్ యొక్క నిర్వచనం
- చాలా ముఖ్యమైన తేడా ఏమిటంటే, హాష్ మ్యాప్ యొక్క చొప్పించే క్రమం భద్రపరచబడలేదు అయితే, లింక్డ్ హాష్ మ్యాప్ యొక్క చొప్పించే క్రమం సంరక్షించబడిన.
- మ్యాప్ యొక్క అంశాలను నిల్వ చేయడానికి హాష్ మ్యాప్ ఉపయోగించే డేటా నిర్మాణం Hashtable. మరోవైపు, లింక్డ్ హాష్ మ్యాప్ ఉపయోగించే డేటా నిర్మాణం లింక్ చేసిన జాబితా మరియు Hashtable.
- హాష్ మ్యాప్ తరగతి విస్తరించింది AbstractMap తరగతి మరియు అమలు చేస్తుంది మ్యాప్ ఇంటర్ఫేస్. అయితే, లింక్డ్ హాష్ మ్యాప్ తరగతి పిల్లల తరగతి hashmap తరగతి అనగా లింక్డ్ హాష్ మ్యాప్ క్లాస్ హాష్ మ్యాప్ క్లాస్ ని విస్తరించింది.
- లో హాష్ మ్యాప్ క్లాస్ ప్రవేశపెట్టబడింది జెడికె 2.0 వెర్షన్. లింక్డ్ హాష్ మ్యాప్ క్లాస్ తరువాత ప్రవేశపెట్టబడింది జెడికె 4.0 వెర్షన్.
- మ్యాప్లో చొప్పించిన మూలకాల క్రమాన్ని నిర్వహించాల్సిన అవసరం ఉన్నందున, లింక్డ్ హాష్ మ్యాప్ తరగతికి హాష్ మ్యాప్ కంటే ఎక్కువ ఓవర్ హెడ్ ఉంది.
ముగింపు:
మ్యాప్లో చొప్పించిన మూలకాల క్రమం గురించి మనకు ఆందోళన ఉన్న చోట మాత్రమే లింక్డ్ హాష్ మ్యాప్ ఉపయోగించాలి.