పరిచయం
దాదాపు ప్రతి ప్రోగ్రామ్లో కొంత డేటా సెట్ను స్టోర్ చేయాలి. ఇది తీగలు మరియు సంఖ్యలు, వస్తువులు మరియు మొదలైనవి కావచ్చు. శ్రేణులు అద్భుతమైన నిల్వ పరిష్కారం. కానీ శ్రేణులకు కొన్ని పరిమితులు ఉన్నాయి. ఉదాహరణకు, వాటి పరిమాణం స్థిరంగా ఉంది, మూలకాలు తీసివేయబడవు మరియు మీరు మధ్యలో మూలకాలను చొప్పించలేరు. ఈ మరియు ఇతర పరిమితులను అధిగమించడానికి సేకరణలు సృష్టించబడ్డాయి. అన్ని రకాల సేకరణలు (మరియు వాటిలో చాలా ఉన్నాయి, మేము ఈ పాఠంలో తరువాత చూస్తాము) తమను తాము డైనమిక్గా పరిమాణాన్ని మార్చుకునే సామర్థ్యాన్ని కలిగి ఉంటాయి. కొన్ని సేకరణ రకాలు ఆర్డర్ చేసిన మూలకాలను నిల్వ చేయగలవు మరియు కొత్త మూలకాలను జోడించినప్పుడు స్వయంచాలకంగా క్రమంలో ఉంచగలవు.
ఈ పాఠంలో, మేము జావా కలెక్షన్స్ ఫ్రేమ్వర్క్లోని బేస్ కలెక్షన్ల క్లాస్ సోపానక్రమంతో పరిచయం చేస్తాము . ప్రామాణిక జావా కలెక్షన్స్ ఫ్రేమ్వర్క్ సామర్థ్యాలను విస్తరించే వివిధ ప్రత్యామ్నాయ లైబ్రరీలు కూడా ఉన్నాయి . వీటిలో అత్యంత ప్రాచుర్యం పొందినది గువా (గూగుల్ కలెక్షన్స్ లైబ్రరీ).
ప్రాథమిక ఇంటర్ఫేస్లు
మిగిలిన తరగతులు మరియు ఇంటర్ఫేస్లను రూపొందించడానికి అమలు చేయబడిన రెండు ప్రాథమిక ఇంటర్ఫేస్లు ఉన్నాయని రేఖాచిత్రం చూపిస్తుంది.
ఈ ఇంటర్ఫేస్లను పరిశీలిద్దాం:
-
సేకరణ - మూలకాల సమితిని (వస్తువులు) కలిగి ఉండే సాధారణ సేకరణ. ఈ సేకరణ మూలకాలతో పని చేయడానికి ప్రాథమిక పద్ధతులను కలిగి ఉంది: చొప్పించు ( జోడించు , addAll ), తీసివేయి ( తీసివేయు , తొలగించుఅన్ని , క్లియర్ ), శోధన ( కలిగి , కలిగి అన్నీ ), సేకరణ ఖాళీగా ఉందో లేదో తనిఖీ చేయండి ( isEmpty ) మరియు పరిమాణాన్ని పొందండి ( పరిమాణం ).
-
మ్యాప్ — కీలక-విలువ జంటలుగా రూపొందించబడిన సేకరణ. అంతేకాకుండా, మ్యాప్లోని ప్రతి కీప్రత్యేకమైనది: రెండు కీలు ఒకే విలువలను కలిగి ఉండవు. ఈ సేకరణను కొన్నిసార్లు నిఘంటువు అని పిలుస్తారు. మ్యాప్ అనేది ఒక ప్రత్యేక ఇంటర్ఫేస్. ఇది కలెక్షన్ ఇంటర్ఫేస్ని అమలు చేయదు , కానీ జావా కలెక్షన్స్ ఫ్రేమ్వర్క్లో భాగం.
మ్యాప్లోని అంశాలతో పని చేయడానికి ఉపయోగకరమైన పద్ధతులు :
-
చొప్పించు ( పెట్టు , అన్నీ చాలు )
-
పొందండి ( గెట్ , కీసెట్ , విలువలు , ఎంట్రీసెట్ )
-
తొలగించు ( తొలగించు , క్లియర్ )
-
శోధన ( Keyskey , కలిగి విలువ )
-
సేకరణ ఖాళీగా ఉందో లేదో తనిఖీ చేయండి ( isEmpty )
-
పరిమాణాన్ని పొందండి ( పరిమాణం )
ఇప్పుడు వాటిలో ప్రతి దాని గురించి మరింత మాట్లాడుకుందాం.
సేకరణ ఇంటర్ఫేస్
కలెక్షన్ ఇంటర్ఫేస్ ఇటరబుల్ ఇంటర్ఫేస్ను విస్తరిస్తుంది , ఇది ఒకే పద్ధతిని కలిగి ఉంటుంది: iterator () . మాకు, ఇటరబుల్ని వారసత్వంగా పొందే ఏ సేకరణ అయినా ఇటరేటర్ను తిరిగి ఇవ్వగలదని దీని అర్థం.
ఇటరేటర్ అనేది నిర్దిష్ట అమలుతో సంబంధం లేకుండా ఏదైనా సేకరణ యొక్క మూలకాలను యాక్సెస్ చేయడానికి మీరు ఉపయోగించే ఒక ప్రత్యేక వస్తువు.
3 ఇంటర్ఫేస్లు కలెక్షన్ ఇంటర్ఫేస్ను వారసత్వంగా పొందుతాయని ఫిగర్ చూపిస్తుంది : జాబితా , క్యూ మరియు సెట్ . ఇప్పుడు మనం వాటిలో ప్రతి ఒక్కటి క్లుప్తంగా చూద్దాం.
జాబితా అనేది డూప్లికేట్ విలువలను అనుమతించే ఆర్డర్ సేకరణ. జాబితా యొక్క ప్రత్యేక లక్షణంఏమిటంటే, దాని మూలకాలు లెక్కించబడ్డాయి మరియు సంఖ్య (సూచిక) ద్వారా యాక్సెస్ చేయవచ్చు.
ఒక క్యూ మూలకాలను క్యూలో జోడించిన క్రమంలో నిల్వ చేస్తుంది.
జాబితా వలె కాకుండా, పునరావృత మూలకాలను అనుమతించని క్రమం లేని సేకరణను సెట్ సూచిస్తుంది. సెట్ ఇంటర్ఫేస్ గణిత సమితి భావనకు అనుగుణంగా ఉంటుంది .
మ్యాప్ ఇంటర్ఫేస్ యొక్క అమలు
మ్యాప్ ఇంటర్ఫేస్ ప్రత్యేకమైన కీలు మరియు విలువల మధ్య మ్యాపింగ్ను సూచిస్తుందని మనం చూడవచ్చు .
interface Map<K, V>
ఇక్కడ K అనేది కీల రకం మరియు V అనేది నిల్వ చేయబడిన విలువల రకం.
కీని ఉపయోగించి, మేము మ్యాప్ నుండి డేటాను సంగ్రహించవచ్చు . మ్యాప్కు మూలకాన్ని జోడించడానికి , మేము తప్పనిసరిగా కీ మరియు విలువను పేర్కొనాలి.
మ్యాప్ యొక్క కొన్ని అమలులను చూద్దాం :
-
HashMap అనేది హాష్ పట్టికల ఆధారంగా రూపొందించబడిన మ్యాప్ యొక్క అమలుఇది శూన్యంతో సహా ఏ రకమైన కీలు మరియు విలువలను నిల్వ చేయగలదు. మూలకాల క్రమం హామీ ఇవ్వబడదు.
-
LinkedHashMap అనేది డేటా నిర్మాణం, ఇది మూలకాల యొక్క లింక్ చేయబడిన జాబితాగా డేటాను నిల్వ చేస్తుంది. మూలకాలు జోడించబడిన క్రమంలో జాబితాలో కనిపిస్తాయి.
-
ట్రీమ్యాప్ క్రమబద్ధీకరించబడిన మ్యాప్ ఇంటర్ఫేస్ను అమలు చేస్తుంది( నావిగేబుల్ మ్యాప్ ఇంటర్ఫేస్ ద్వారా). ఈ నిర్మాణంలోని మూలకాలు క్రమబద్ధీకరించబడిన క్రమంలో నిల్వ చేయబడతాయి (కొత్త మూలకం జోడించబడినప్పుడు, సేకరణ స్వయంచాలకంగా క్రమబద్ధీకరించబడుతుంది). TreeMap వేగవంతమైన పునరుద్ధరణతో పెద్ద మొత్తంలో క్రమబద్ధీకరించబడిన డేటాను నిల్వ చేయడానికి గొప్పది.
కాలం చెల్లిన సేకరణలు:
జావా మునుపటి సంస్కరణల నుండి వాడుకలో లేని సేకరణలను కలిగి ఉంది (వెనుకబడిన అనుకూలతను కొనసాగించడానికి). ఈ పాత సేకరణలను కొత్త కోడ్లో ఉపయోగించకూడదు:
-
ఎన్యుమరేషన్ — ఇటరేటర్ ఇంటర్ఫేస్కి సారూప్యం;
-
వెక్టర్ — ఎలిమెంట్స్ యొక్క ఆర్డర్ జాబితా మరియు అర్రేలిస్ట్ క్లాస్కి సారూప్యంగా ఉంటుంది;
-
స్టాక్ — స్టాక్ డేటా స్ట్రక్చర్ యొక్క అమలు, ఇది మీరు పుస్తకాల స్టాక్తో ఎలా ఇంటరాక్ట్ అవుతారు వంటి అంశాలను నిల్వ చేస్తుంది మరియు మానిప్యులేట్ చేస్తుంది. స్టాక్ ( పుష్ ) కు మూలకాలను జోడించడం మరియు వాటిని తీసివేయడం ( పాప్ ) కోసం పద్ధతులు ఉన్నాయి ;
-
నిఘంటువు — మ్యాప్ ఇంటర్ఫేస్కు సారూప్యంగా ఉంటుంది, కానీ ఇది ఒక వియుక్త తరగతి;
-
Hashtable — HashMap కి సాదృశ్యం.
మీరు ఈ కథనంలో సేకరణల ఫ్రేమ్వర్క్ గురించి మరింత చదవవచ్చు .
GO TO FULL VERSION