జావాలో హాష్ మ్యాప్ మరియు ట్రీమ్యాప్ మధ్య తేడా

రచయిత: Laura McKinney
సృష్టి తేదీ: 2 ఏప్రిల్ 2021
నవీకరణ తేదీ: 16 మే 2024
Anonim
JAVA{14}:différences entre HashMap , LinkedHashMap et TreeMap
వీడియో: JAVA{14}:différences entre HashMap , LinkedHashMap et TreeMap

విషయము


హాష్ మ్యాప్ మరియు ట్రీమ్యాప్ మ్యాప్ క్లాసులు మరియు రెండూ మ్యాప్ ఇంటర్ఫేస్ను అమలు చేస్తాయి. మ్యాప్ అనేది కీ-విలువ జతలను నిల్వ చేసే ఒక వస్తువు, ఇక్కడ ప్రతి కీ ప్రత్యేకమైనది మరియు నకిలీ విలువలు ఉండవచ్చు. హాష్ మ్యాప్ తరగతి హాష్ పట్టికను డేటా నిర్మాణంగా ఉపయోగిస్తుంది. ట్రీమాప్ ఎరుపు-నలుపు చెట్టును డేటా నిర్మాణంగా ఉపయోగిస్తుంది. హాష్ మ్యాప్ మరియు ట్రీమాప్ మధ్య ప్రధాన వ్యత్యాసం ఏమిటంటే hashmap చొప్పించే క్రమాన్ని సంరక్షించదు, అయితే Treemap లేదు.

కాబట్టి క్రింద చూపిన పోలిక చార్ట్ సహాయంతో హాష్ మ్యాప్ మరియు ట్రీమాప్ మధ్య తేడాలపై మా చర్చను ప్రారంభిద్దాం.

  1. పోలిక చార్ట్
  2. నిర్వచనం
  3. కీ తేడాలు
  4. ముగింపు

పోలిక చార్ట్

పోలిక కోసం ఆధారంhashmapTreeMap
ప్రాథమిక హాష్ మ్యాప్ చొప్పించే క్రమాన్ని నిర్వహించదు.ట్రీమాప్ చొప్పించే క్రమాన్ని నిర్వహిస్తుంది.
DataStructureహాష్ మ్యాప్ హాష్ టేబుల్‌ను అంతర్లీన డేటా స్ట్రక్చర్‌గా ఉపయోగిస్తుంది.ట్రీమాప్ రెడ్-బ్లాక్ ట్రీని అంతర్లీన డేటా నిర్మాణంగా ఉపయోగిస్తుంది.
శూన్య కీలు మరియు విలువలు హాష్ మ్యాప్ శూన్య విలువను ప్రకటనకు ఒకసారి అనుమతిస్తుంది.ట్రీమాప్ శూన్య కీని అనుమతించదు కాని శూన్య విలువలను ఎన్ని సమయం అయినా అనుమతిస్తుంది.
విస్తరిస్తుంది మరియు అమలు చేస్తుందిహాష్ మ్యాప్ అబ్స్ట్రాక్ట్ మ్యాప్ క్లాస్ ని విస్తరించింది మరియు మ్యాప్ ఇంటర్ఫేస్ను అమలు చేస్తుంది.ట్రీమాప్ అబ్‌స్ట్రాక్ట్ మ్యాప్ క్లాస్‌ని విస్తరించింది మరియు సార్టెడ్ మ్యాప్ మరియు నావిగేబుల్ మ్యాప్ ఇంటర్‌ఫేస్‌ను అమలు చేస్తుంది.
ప్రదర్శనహాష్ మ్యాప్ వేగంగా పనిచేస్తుంది.హాష్ మ్యాప్‌తో పోల్చితే ట్రీమాప్ నెమ్మదిగా పనిచేస్తుంది.


హాష్ మ్యాప్ యొక్క నిర్వచనం

hashmap మ్యాప్ క్లాస్. ఇది ఉపయోగిస్తుంది హాష్ టేబుల్, మ్యాప్స్ కీ విలువ జతను నిల్వ చేయడానికి డేటా నిర్మాణంగా. కీ-విలువ జత యొక్క చొప్పించడం ఉపయోగించి జరుగుతుంది హాష్ కోడ్ యొక్క కీలు. అందువల్ల, మ్యాప్‌లోని ప్రతి కీ ప్రత్యేకంగా ఉండాలి ఎందుకంటే ఇది విలువలను తిరిగి పొందడానికి ఉపయోగించబడుతుంది.

హాష్ మ్యాప్‌లో చొప్పించే క్రమం కాదు సంరక్షించబడినది అంటే హాష్ మ్యాప్ ఆబ్జెక్ట్ మూలకాలను అవి చొప్పించిన క్రమంలో తిరిగి ఇవ్వదు. మరోవైపు, మూలకాలు తిరిగి ఇవ్వబడే క్రమం పరిష్కరించబడలేదు.

ది కీ ఉండటానికి అనుమతి ఉంది శూన్య ఒకేసారి, కానీ విలువలు ఉంటుంది శూన్య ఏ సమయంలోనైనా. హాష్ మ్యాప్ కలిగి ఉంటుంది విజాతీయ కీలు మరియు విలువల కోసం వస్తువులు.

హాష్ మ్యాప్ యొక్క నలుగురు కన్స్ట్రక్టర్లు ఉన్నారు:

హాష్ మ్యాప్ () హాష్ మ్యాప్ (మ్యాప్ m) హాష్ మ్యాప్ (పూర్ణాంక సామర్థ్యం), హాష్ మ్యాప్ (పూర్ణాంక సామర్థ్యం, ​​ఫ్లోట్ ఫిల్ రేషియో)

ది ప్రధమ కన్స్ట్రక్టర్ హాష్ మ్యాప్ యొక్క ఖాళీ వస్తువును సృష్టిస్తాడు. ది రెండవ కన్స్ట్రక్టర్ మ్యాప్ m యొక్క అంశాలను ఉపయోగించి హాష్ మ్యాప్‌ను ప్రారంభిస్తాడు. ది మూడో కన్స్ట్రక్టర్ వాదనలో అందించిన సామర్థ్యంతో హాష్ మ్యాప్‌ను ప్రారంభిస్తాడు. ది నాల్గవ కన్స్ట్రక్టర్ సామర్థ్యాన్ని మరియు హాష్ మ్యాప్ ఆబ్జెక్ట్ యొక్క పూరక నిష్పత్తిని ప్రారంభిస్తుంది.


డిఫాల్ట్ సామర్థ్యాన్ని హాష్ మ్యాప్ యొక్క 16, మరియు డిఫాల్ట్ పూరక నిష్పత్తి హాష్ మ్యాప్ యొక్క 0.75.

ట్రీమ్యాప్ యొక్క నిర్వచనం

హాష్ మ్యాప్ లాగా, TreeMap మ్యాప్ క్లాస్ కూడా. ట్రీమ్యాప్ విస్తరించింది AbstractMap తరగతి మరియు పనిముట్లు NavigabelMap మరియు SortedMap. ట్రీమ్యాప్ వస్తువులు చెట్టు నిర్మాణంలో మ్యాప్ అంశాలను నిల్వ చేస్తాయి. మ్యాప్‌ను నిల్వ చేయడానికి ఉపయోగించే డేటా స్ట్రక్చర్ ఎరుపు-నల్ల చెట్టు.

ట్రీమాప్ కీ విలువ జతను క్రమబద్ధీకరించిన క్రమంలో నిల్వ చేస్తుంది, ఇది మూలకాలను వేగంగా తిరిగి పొందడంలో సహాయపడుతుంది. ట్రీమాప్ ఆబ్జెక్ట్ క్రమబద్ధీకరించబడతాయి (ఆరోహణ) ఆర్డర్.

ట్రీమ్యాప్ యొక్క నలుగురు కన్స్ట్రక్టర్లు ఉన్నారు:

ట్రీమ్యాప్ () ట్రీమ్యాప్ (కంపారిటర్ <? సూపర్ కె> కాంప్) ట్రీమ్యాప్ (మ్యాప్ <? K ని విస్తరించింది, V> m ని విస్తరించింది) ట్రీమ్యాప్ (క్రమబద్ధీకరించిన మ్యాప్) SM)

ది ప్రధమ కన్స్ట్రక్టర్లు ట్రీమాప్ యొక్క ఖాళీ వస్తువును సృష్టిస్తారు, అది దాని కీలను సహజ క్రమంలో క్రమబద్ధీకరించబడుతుంది. ది రెండవ కన్స్ట్రక్టర్ ఖాళీ చెట్టు మ్యాప్‌ను సృష్టిస్తాడు, అది క్రమబద్ధీకరించబడుతుంది కంపారిటర్ cmp. ది మూడో పైన ఉన్న కన్స్ట్రక్టర్ యొక్క ఎంట్రీలను ఉపయోగించి ప్రారంభించబడే ట్రీమాప్‌ను సృష్టిస్తుంది మ్యాప్ m. ది నాల్గవ కన్స్ట్రక్టర్ యొక్క ఎంట్రీలను ఉపయోగించి ప్రారంభించబడే ట్రీమాప్‌ను సృష్టిస్తుంది SortedMap SM.

ట్రెమాప్‌కు సొంతంగా కొత్త పద్దతి లేదు, ఇది నావిగేబుల్ మ్యాప్ మరియు సార్టెడ్ మ్యాప్ మరియు అబ్‌స్ట్రాక్ట్ మ్యాప్ క్లాస్‌ల ఇంటర్‌ఫేస్ పద్ధతిని ఉపయోగిస్తుంది.

  1. రెండు తరగతులు మ్యాప్ వస్తువులను సృష్టించడానికి ఉపయోగించబడతాయి, కానీ హాష్ మ్యాప్ మరియు ట్రీమాప్ మధ్య ప్రాథమిక వ్యత్యాసం ఏమిటంటే, హాష్ మ్యాప్ చొప్పించే క్రమాన్ని నిర్వహించదు, అయితే ట్రీమాప్ చేస్తుంది.
  2. మ్యాప్ ఎలిమెంట్లను నిల్వ చేయడానికి హాష్మ్యాప్ ఉపయోగించే డేటా స్ట్రక్చర్ హాష్ టేబుల్ మరియు మ్యాప్ ఎలిమెంట్లను నిల్వ చేయడానికి ట్రీమాప్ ఉపయోగించే డేటా స్ట్రక్చర్ ఎరుపు-నలుపు చెట్టు.
  3. హాష్మ్యాప్ మరియు ట్రీమాప్ తరగతులు రెండూ అబ్స్ట్రాక్ట్ మ్యాప్ తరగతిని విస్తరిస్తాయి, కాని హాష్ మ్యాప్ క్లాస్ మ్యాప్ ఇంటర్ఫేస్ను అమలు చేస్తుంది మరియు ట్రీమాప్ నావిగేబుల్ మ్యాప్ మరియు సార్టెడ్ మ్యాప్ ఇంటర్ఫేస్ను అమలు చేస్తుంది.
  4. విలువలు రెండింటిలో ఎన్ని సమయం అయినా శూన్యంగా ఉండవచ్చు, కాని కీ హాష్ మ్యాప్‌లో ఒక్కసారి మాత్రమే శూన్యంగా ఉండటానికి అనుమతించబడుతుంది మరియు కీ ఎప్పుడూ ట్రీమాప్‌లో ఉండకూడదు.
  5. హాష్ మ్యాప్ యొక్క పనితీరు వేగంగా ఉంటుంది, ఇది ట్రీమ్యాప్ వలె మ్యాప్ ఎలిమెంట్లను క్రమబద్ధీకరించడానికి సమయాన్ని వృథా చేయదు. అందువల్ల, ట్రీమాప్ హాష్ మ్యాప్ కంటే నెమ్మదిగా పనిచేస్తుంది.

ముగింపు:

క్రమబద్ధీకరించిన రూపంలో మీకు కీ విలువ జత అవసరమైనప్పుడు మాత్రమే ట్రీమాప్ ఉపయోగించాలి. సార్టింగ్ పనితీరు వ్యయాన్ని కలిగి ఉంటుంది. హాష్ మ్యాప్ సమకాలీకరించబడనిది వేగంగా పనిచేస్తుంది.