జావాలో అర్రేలిస్ట్ మరియు వెక్టర్ మధ్య వ్యత్యాసం
విషయము
అర్రేలిస్ట్ మరియు వెక్టర్ రెండూ కలెక్షన్ ఫ్రేమ్వర్క్ సోపానక్రమం క్రింద తరగతులు. అర్రేలిస్ట్ మరియు వెక్టర్, రెండూ డైనమిక్ శ్రేణి వస్తువులను సృష్టించడానికి ఉపయోగిస్తారు, ఇక్కడ శ్రేణి పరిమాణంలో మరియు అవసరమైనప్పుడు పెరుగుతుంది. అర్రేలిస్ట్ మరియు వెక్టర్ను వేరుచేసే రెండు ప్రాథమిక తేడాలు ఏమిటంటే, వెక్టర్ లెగసీ తరగతులకు చెందినది, తరువాత సేకరణ తరగతులకు మద్దతు ఇవ్వడానికి పునర్నిర్మించబడింది, అయితే, అర్రేలిస్ట్ ఒక ప్రామాణిక సేకరణ తరగతి. మరో ముఖ్యమైన వ్యత్యాసం ఏమిటంటే, అర్రేలిస్ట్ మరోవైపు సమకాలీకరించబడదు; వెక్టర్ సమకాలీకరించబడింది.
క్రింద చూపిన పోలిక చార్ట్ సహాయంతో మరికొన్ని తేడాలను అధ్యయనం చేద్దాం.
- పోలిక చార్ట్
- నిర్వచనం
- కీ తేడాలు
- సారూప్యతలు
- ముగింపు
పోలిక చార్ట్
పోలిక కోసం ఆధారం | ArrayList | వెక్టర్ |
---|---|---|
ప్రాథమిక | శ్రేణి జాబితా తరగతి సమకాలీకరించబడలేదు. | వెక్టర్ క్లాస్ సమకాలీకరించబడింది. |
లెగసీ క్లాస్ | శ్రేణి జాబితా ప్రామాణిక సేకరణ తరగతి. | వెక్టర్ ఒక లెగసీ క్లాస్, సేకరణ తరగతికి మద్దతుగా తిరిగి ఇంజనీరింగ్ చేయబడింది. |
తరగతి ప్రకటన | తరగతి శ్రేణి జాబితా | తరగతి వెక్టర్ |
కేటాయింపుకు | పేర్కొననప్పుడు అర్రేలిస్ట్ దాని పరిమాణంలో సగం పెరుగుతుంది. | పేర్కొనబడనప్పుడు, వెక్టర్ దాని పరిమాణాన్ని రెట్టింపు చేయడానికి పెంచబడుతుంది. |
ప్రదర్శన | శ్రేణి జాబితా సమకాలీకరించబడనందున, ఇది వెక్టర్ కంటే వేగంగా పనిచేస్తుంది. | వెక్టర్ సమకాలీకరించబడినందున, ఇది అర్రేలిస్ట్ కంటే నెమ్మదిగా పనిచేస్తుంది. |
ఎన్యుమరేషన్ / ఇటెరేటర్ | అర్రేలిస్ట్లో నిల్వ చేయబడిన వస్తువులను ప్రయాణించడానికి అర్రేలిస్ట్ ఇటేరేటర్ ఇంటర్ఫేస్ను ఉపయోగిస్తుంది. | వెక్టర్లలో నిల్వ చేయబడిన వస్తువులను దాటడానికి వెక్టర్ ఎన్యూమరేషన్ మరియు ఐటెరేటర్ ఇంటర్ఫేస్ను ఉపయోగిస్తుంది. |
శ్రేణి జాబితా యొక్క నిర్వచనం
అర్రేలిస్ట్ ప్రామాణిక సేకరణ తరగతుల జాబితాకు చెందినది. తరగతి శ్రేణి జాబితా లోపల నిర్వచించబడింది java.util ప్యాకేజీ, ఇది విస్తరించింది AbstractList తరగతి ఇది ప్రామాణిక సేకరణ తరగతి, మరియు ఇది కూడా అమలు చేస్తుంది జాబితా, కలెక్షన్ ఇంటర్ఫేస్లలో నిర్వచించిన ఇంటర్ఫేస్. జావాలో, ప్రామాణిక శ్రేణి ఎల్లప్పుడూ స్థిర పొడవుతో ఉంటుంది. అంటే ఒకసారి సృష్టించబడినది; ఇది డైనమిక్గా పెరుగుతుంది లేదా పరిమాణంలో కుదించదు. కాబట్టి, మీరు ఉపయోగిస్తున్న శ్రేణి యొక్క పొడవు గురించి మీకు ముందస్తు జ్ఞానం ఉండాలి. కానీ, కొన్నిసార్లు ఈ రకమైన పరిస్థితిని నిర్వహించడానికి అవసరమైన పొడవు రన్టైమ్లో తెలుస్తుంది, జావా అర్రేలిస్ట్ను ప్రవేశపెట్టింది.
అర్రేలిస్ట్ అనేది వస్తువుల సూచనలను కలిగి ఉన్న శ్రేణి యొక్క డైనమిక్ సృష్టి కోసం ఉపయోగించే తరగతి. ఈ శ్రేణి అవసరమైనప్పుడు మరియు పరిమాణంలో పెరుగుతుంది. తరగతి ప్రకటన క్రింది విధంగా ఉంది:
తరగతి శ్రేణి జాబితా ఇక్కడ, శ్రేణి కలిగి ఉన్న వస్తువుల రకాన్ని E నిర్దేశిస్తుంది. సృష్టించిన శ్రేణి వేరియబుల్ పొడవుతో ఉంటుంది మరియు జాబితా నుండి వస్తువులను జోడించినప్పుడు లేదా తీసివేసినప్పుడు అది పెరుగుతుంది మరియు పరిమాణంలో తగ్గుతుంది. శ్రేణి జాబితా సమకాలీకరించబడలేదు అంటే, ఒకటి కంటే ఎక్కువ థ్రెడ్లు ఒకే సమయంలో శ్రేణిలో పనిచేయగలవు. ఉదాహరణకు, ఒక థ్రెడ్ శ్రేణికి ఆబ్జెక్ట్ రిఫరెన్స్ను జోడిస్తుంటే మరియు మరొక థ్రెడ్ ఒకే అర్రే నుండి ఒకే సమయంలో ఆబ్జెక్ట్ రిఫరెన్స్ను తొలగిస్తుంటే. అర్రేలిస్ట్ క్లాస్ ఉపయోగించి డైనమిక్ అర్రే యొక్క సృష్టి: ArrayList పై కోడ్లో, మీరు దానిని చూడవచ్చు; నేను స్ట్రింగ్ రకం వస్తువుల శ్రేణిని సృష్టించాను. నేను యాడ్ () పద్ధతిని ఉపయోగించి శ్రేణి S1 కు కొన్ని వస్తువులను జోడించాను, తరువాత తొలగించు () పద్ధతిని ఉపయోగించి కొన్ని వస్తువులను తొలగించాను. మీరు శ్రేణి యొక్క ప్రారంభ పరిమాణాన్ని పేర్కొనకపోతే అది ‘0’ పొడవు ఉంటుంది. మీరు ఎలిమెంట్స్ని జోడించి, తొలగించేటప్పుడు శ్రేణి పెరుగుతుంది మరియు పరిమాణంలో తగ్గిపోతుంది. వెక్టర్ ఒక లెగసీ క్లాస్, ఇది కలెక్షన్ ఫ్రేమ్వర్క్ సోపానక్రమంలో సేకరణ తరగతికి మద్దతు ఇవ్వడానికి పునర్నిర్మించబడింది. వెక్టర్ క్లాస్ కూడా లో నిర్వచించబడింది java.util ప్యాకేజీ, విస్తరించింది AbstractList తరగతి మరియు అమలు జాబితా ఇంటర్ఫేస్. వెక్టర్ క్లాస్ను ఫాలోగా ప్రకటించారు: తరగతి వెక్టర్ ఇక్కడ, శ్రేణిలో నిల్వ చేయబడే వస్తువు రకాన్ని E నిర్వచిస్తుంది. వెక్టర్ క్లాస్ ఉపయోగించి సృష్టించబడిన శ్రేణి వేరియబుల్ పొడవు. ఇంక్రిమెంట్ పేర్కొనకపోతే ఇది దాని పరిమాణాన్ని రెట్టింపు చేస్తుంది. వెక్టర్ ఉపయోగించి శ్రేణి యొక్క సృష్టిని అర్థం చేసుకుందాం. వెక్టర్ స్ట్రింగ్ ఆబ్జెక్ట్ల శ్రేణిని ప్రకటించేటప్పుడు, పైన పేర్కొన్న కోడ్లో నేను ప్రత్యేకంగా వెక్టర్ యొక్క కన్స్ట్రక్టర్లో పరిమాణం మరియు ఇంక్రిమెంట్ విలువను పేర్కొన్నాను. అందువల్ల, శ్రేణి యొక్క పరిమితి ముగిసినప్పుడు, డిక్లరేషన్ చేసేటప్పుడు ఇది కన్స్ట్రక్టర్కు అందించిన విలువ ద్వారా పెరుగుతుందని మీరు గమనించవచ్చు. వెక్టర్ను ఉపయోగించడం కంటే అర్రేలిస్ట్ వాడకం మంచిదని, ఇది వేగంగా మరియు మెరుగ్గా పనిచేస్తుందని చెప్పడం ద్వారా నేను ముగించాను.
వెక్టర్ యొక్క నిర్వచనం
సారూప్యతలు:
ముగింపు: