జావాలో హాష్ మ్యాప్ మరియు హాష్ టేబుల్ మధ్య తేడా
విషయము
హాష్ మ్యాప్ మరియు హాష్ టేబుల్ రెండూ ప్రాతినిధ్యం వహించడానికి ఉపయోగిస్తారు వస్తువుల సమూహం లో ప్రాతినిధ్యం వహిస్తాయి
హాష్ మ్యాప్ మరియు హాష్ టేబుల్ మధ్య మరికొన్ని తేడాలు తెలుసుకోవడానికి క్రింద చూపిన పోలిక చార్ట్ చూద్దాం.
- పోలిక చార్ట్
- నిర్వచనం
- కీ తేడాలు
- సారూప్యతలు
- ముగింపు
పోలిక చార్ట్
పోలిక కోసం ఆధారం | hashmap | Hashtable |
---|---|---|
అమలు / విస్తరించండి | హాష్ మ్యాప్ క్లాస్ మ్యాప్ ఇంటర్ఫేస్ను అమలు చేస్తుంది మరియు అబ్స్ట్రాక్ట్ మ్యాప్ క్లాస్ ను విస్తరిస్తుంది. | హాష్ టేబుల్ డిక్షనరీ లెగసీ క్లాస్ యొక్క విస్తరించి ఉంది, కానీ, ఇది తిరిగి ఇంజనీరింగ్ చేయబడింది మరియు ఇప్పుడు ఇది మ్యాప్ ఇంటర్ఫేస్ను కూడా అమలు చేస్తుంది. |
సమకాలీకరణ | హాష్ మ్యాప్ సమకాలీకరించబడలేదు మరియు అందువల్ల, హాష్ మ్యాప్ ఆబ్జెక్ట్ సురక్షితంగా థ్రెడ్ చేయబడలేదు. | హ్యాష్టేబుల్ సమకాలీకరించబడింది మరియు అందువల్ల, హ్యాష్టేబుల్ యొక్క వస్తువు థ్రెడ్ సురక్షితం. |
కీస్ / విలువ | ఒక కీ శూన్యతను ఒక్కసారి మాత్రమే తిరిగి ఇవ్వగలదు, కానీ ఒక విలువ శూన్యతను ఎంత సమయం అయినా తిరిగి ఇవ్వగలదు. | హాష్ పట్టిక యొక్క సూచికగా ఉపయోగించబడే హాష్ కోడ్ను పొందటానికి ఒక కీ శూన్యతను తిరిగి ఇవ్వదు, లేదా విలువ శూన్యతను తిరిగి ఇవ్వదు. |
డిఫాల్ట్ ప్రారంభ సామర్థ్యం | హాష్ మ్యాప్ యొక్క డిఫాల్ట్ ప్రారంభ సామర్థ్యం 16. | హ్యాష్టేబుల్ యొక్క డిఫాల్ట్ ప్రారంభ సామర్థ్యం 11. |
నదీ ప్రవాహానికి అడ్డంగా ప్రయాణం | హాష్ మ్యాప్ ఇటేరేటర్ ద్వారా ప్రయాణించబడుతుంది. | మ్యాప్ క్లాస్ హ్యాష్టేబుల్ కూడా ప్రయాణించడానికి ఇటిరేటర్కు నేరుగా మద్దతు ఇవ్వదు మరియు అందువల్ల, ఇది ఎన్యూమరేటర్ను ఉపయోగిస్తుంది. |
హాష్ మ్యాప్ యొక్క నిర్వచనం
హాష్ మ్యాప్ అనేది అమలు చేసే తరగతి మ్యాప్ ఇంటర్ఫేస్ మరియు విస్తరిస్తుంది AbstractMap తరగతి హాష్ పట్టికను ఉపయోగిస్తుంది. హాష్ మ్యాప్ యొక్క వస్తువు సేకరణ / సమితిని సూచిస్తుంది / * K కీని సూచిస్తుంది మరియు V విలువను సూచిస్తుంది * / క్లాస్ హాష్ మ్యాప్ మొదటి కన్స్ట్రక్టర్ డిఫాల్ట్ కన్స్ట్రక్టర్, ఇది హాష్ మ్యాప్ యొక్క ఖాళీ వస్తువును డిఫాల్ట్ సామర్థ్యం 16 మరియు డిఫాల్ట్ ఫిల్ రేషియో 0.75 తో ప్రారంభిస్తుంది. రెండవ కన్స్ట్రక్టర్ m విలువతో హాష్ మ్యాప్ను ప్రారంభిస్తాడు. మూడవ కన్స్ట్రక్టర్ వాదన “సామర్థ్యం” లో అందించిన విలువకు అనుగుణంగా ప్రారంభ సామర్థ్యంతో హాష్ మ్యాప్ను సృష్టిస్తుంది. నాల్గవ కన్స్ట్రక్టర్ హాష్ మ్యాప్ను సామర్థ్యం మరియు పారామితులలో అందించిన పూరక నిష్పత్తితో ప్రారంభిస్తాడు. హాష్ మ్యాప్లోని ఎంట్రీలను ఎలా పోషించాలో ఇప్పుడు తెలుసుకుందాం. హాష్మ్యాప్ hm = కొత్త హ్యాష్మ్యాప్ (); hm.put ("అజయ్", 275); hm.put ("విజయ్", 250); hm.put ("జానీ", 150); hm.put ("జోర్డాన్", 200); System.out.ln (hm); / * అవుట్పుట్ * / {విజయ్ = 250, జానీ = 150, అజయ్ = 275, జోర్డాన్ = 200} పై కోడ్లో, నేను ఖాళీ హాష్ మ్యాప్ వస్తువును సృష్టించానని మీరు చూడవచ్చు hm డిఫాల్ట్ ప్రారంభ సామర్థ్యం మరియు డిఫాల్ట్ పూరక నిష్పత్తితో. అప్పుడు నేను హాష్ మ్యాప్లో నాలుగు ఎంట్రీలను పుట్ (కె, వి) పద్ధతిని ఉపయోగించి విలువకు కీని మ్యాప్ చేసాను. చొప్పించే క్రమం స్థిరంగా లేనందున మీరు వాటిని తినిపించే క్రమంలో ఎంట్రీలు సవరించబడవని మీరు గమనించవచ్చు. ఇప్పుడు, మీకు ఇప్పటికే ఎంట్రీ ఉన్న కేసును పరిశీలించండి హాష్ టేబుల్ అనేది విస్తరించే తరగతి నిఘంటువు తరగతి ఇది లెగసీ క్లాస్ మరియు అమలు చేయడానికి తిరిగి ఇంజనీరింగ్ చేయబడింది మ్యాప్ ఇంటర్ఫేస్. హాష్ టేబుల్ దాని డేటా నిర్మాణంగా హాష్ పట్టికను ఉపయోగిస్తుంది. హాష్ టేబుల్ హాష్ మ్యాప్ మాదిరిగానే ఉంటుంది, ఇక్కడ కూడా హాష్ టేబుల్ యొక్క వస్తువు ప్రతి ఎంట్రీ జత అయిన ఎంట్రీల సేకరణను సూచిస్తుంది / * K కీని నిర్దేశిస్తుంది మరియు V కీతో అనుబంధించబడిన విలువను పేర్కొంటుంది * / క్లాస్ హ్యాష్టేబుల్ పై కోడ్లో, మొదటి కన్స్ట్రక్టర్ డిఫాల్ట్ కన్స్ట్రక్టర్, ఇది క్లాస్ హాష్ టేబుల్ యొక్క ఖాళీ వస్తువును సృష్టిస్తుంది, దాని డిఫాల్ట్ పరిమాణం 11 మరియు డిఫాల్ట్ ఫిల్ రేషియో 0.75. రెండవ కన్స్ట్రక్టర్ “పరిమాణం” పారామితిలో అందించిన విలువకు అనుగుణమైన పరిమాణంతో హాష్ పట్టికను సృష్టిస్తుంది. మూడవ కన్స్ట్రక్టర్ పారామితిలో అందించబడిన పరిమాణం మరియు పూరక నిష్పత్తితో హాష్ పట్టికను సృష్టిస్తుంది. నాల్గవ కన్స్ట్రక్టర్ m విలువతో హాష్ పట్టికను ప్రారంభిస్తాడు. ఇప్పుడు ఎలా చొప్పించాలో నేర్చుకుందాం హ్యాష్ టేబుల్ ht = క్రొత్త హ్యాష్ టేబుల్ (); ht.put (కొత్త హాష్ కోడ్ (2), 275); ht.put (కొత్త హాష్ కోడ్ (12), 250); ht.put (కొత్త హాష్ కోడ్ (16), 150); ht.put (కొత్త హాష్ కోడ్ (8), 200); System.out.ln (ht); / * అవుట్పుట్ * / {12 = 250, 16 = 150,2y = 275, 8 = 200} పై కోడ్లో, నేను హాష్ టేబుల్ యొక్క ఖాళీ వస్తువును సృష్టించాను మరియు పుట్ () పద్ధతిని ఉపయోగించి నాలుగు ఎంట్రీలను చేర్చాను. ఇన్సైడ్ పుట్ పద్ధతి నేను హాష్ కోడ్ () అని పిలిచాను, ఇది హాష్ కోడ్ విలువను గణించి తిరిగి ఇస్తుంది, ఇది ఎంట్రీ ఆబ్జెక్ట్ కోసం ఇండెక్స్ విలువగా పనిచేస్తుంది. మీరు చూడగలిగినట్లుగా నేను హాష్ పట్టిక పరిమాణాన్ని ప్రస్తావించలేదు కాబట్టి అప్రమేయంగా ఇది 11 అవుతుంది. ఇక్కడ కూడా, చొప్పించే క్రమం భద్రపరచబడదు మరియు అందువల్ల, ఎడ్ ఎంట్రీలు వరుసగా కనిపించనప్పుడు అది తినిపించబడింది. హాష్ మ్యాప్ పనితీరులో మెరుగ్గా ఉంటుంది, ఎందుకంటే దాని వస్తువులు సమకాలీకరించబడవు మరియు బహుళ థ్రెడ్లు ఒకే సమయంలో దానిపై పనిచేయగలవు మరియు అందువల్ల ఇది హాష్ టేబుల్ కంటే వేగంగా ఉంటుంది.
హాష్ టేబుల్ యొక్క నిర్వచనం
సారూప్యతలు:
ముగింపు: