జావాలో అర్రేలిస్ట్ మరియు లింక్డ్లిస్ట్ మధ్య తేడా
విషయము
అర్రేలిస్ట్ మరియు లింక్డ్లిస్ట్ కలెక్షన్ తరగతులు, మరియు రెండూ అమలు చేస్తాయి జాబితా ఇంటర్ఫేస్. అర్రేలిస్ట్ క్లాస్ అంతర్గతంగా నిల్వ చేయబడిన జాబితాను సృష్టిస్తుంది a డైనమిక్ అమరిక దాని నుండి మూలకాలు జోడించబడినప్పుడు లేదా తొలగించబడినప్పుడు పరిమాణం పెరుగుతుంది లేదా తగ్గిపోతుంది. లింక్డ్లిస్ట్ అంతర్గతంగా నిల్వ చేయబడిన జాబితాను కూడా సృష్టిస్తుంది రెట్టింపైన లింక్డ్ జాబితా. జాబితాలోని అంశాలను నిల్వ చేయడానికి రెండు తరగతులు ఉపయోగించబడతాయి, అయితే శ్రేణుల జాబితా మరియు లింక్డ్లిస్ట్ రెండింటి మధ్య ప్రధాన వ్యత్యాసం ఏమిటంటే ArrayList జాబితాలోని మూలకాలకు యాదృచ్ఛిక ప్రాప్యతను అనుమతిస్తుంది సూచీ ఆధారిత డేటా నిర్మాణం. మరోవైపు, ది LinkedList మూలకాలను నేరుగా యాక్సెస్ చేయడానికి సూచికలు లేనందున యాదృచ్ఛిక ప్రాప్యతను అనుమతించదు, జాబితా నుండి ఒక మూలకాన్ని తిరిగి పొందటానికి లేదా యాక్సెస్ చేయడానికి ఇది జాబితాను దాటాలి.
దిగువ చూపిన పోలిక చార్ట్ సహాయంతో అర్రేలిస్ట్ మరియు లింక్డ్లిస్ట్ మధ్య మరికొన్ని తేడాలను చర్చిద్దాం.
- పోలిక చార్ట్
- నిర్వచనం
- కీ తేడాలు
- ముగింపు
పోలిక చార్ట్
పోలిక కోసం ఆధారం | ArrayList | LinkedList |
---|---|---|
ప్రాథమిక | అర్రేలిస్ట్ జాబితాలోని మూలకాలకు యాదృచ్ఛిక ప్రాప్యతను అనుమతిస్తుంది. | జాబితాలోని మూలకాలకు యాదృచ్ఛిక ప్రాప్యతను లింక్డ్లిస్ట్ అనుమతించదు. |
డేటా నిర్మాణం | మూలకాలను నిల్వ చేయడానికి ఉపయోగించే అంతర్గత నిర్మాణం డైనమిక్ అర్రే. | మూలకాలను నిల్వ చేయడానికి ఉపయోగించే అంతర్గత నిర్మాణం రెట్టింపు లింక్ జాబితా. |
విస్తరించి | అర్రేలిస్ట్ అబ్స్టార్క్ట్లిస్ట్ క్లాస్ని విస్తరించింది. | లింక్డ్లిస్ట్ అబ్స్ట్రాక్ట్సెన్షియల్ లిస్ట్ ని విస్తరించింది. |
పనిముట్లు | సారాంశ జాబితా జాబితా ఇంటర్ఫేస్ను అమలు చేస్తుంది. | లింక్డ్లిస్ట్ జాబితా, డీక్యూ, క్యూను అమలు చేస్తుంది. |
యాక్సెస్ | జాబితాలోని మూలకాలకు ప్రాప్యత శ్రేణి జాబితాలో వేగంగా ఉంటుంది. | జాబితాలోని మూలకాలకు ప్రాప్యత లింక్డ్లిస్ట్లో నెమ్మదిగా ఉంటుంది. |
అభిసంధానం | జాబితాలోని మూలకాలకు తారుమారు అర్రేలిస్ట్లో నెమ్మదిగా ఉంటుంది. | జాబితాలోని మూలకాలకు మానిప్యులేషన్ లింక్డ్లిస్ట్లో వేగంగా ఉంటుంది. |
ప్రవర్తన | అర్రేలిస్ట్ జాబితాను అమలు చేస్తున్నందున జాబితా వలె ప్రవర్తిస్తుంది. | లింక్డ్లిస్ట్ జాబితా మరియు క్యూ రెండింటినీ అమలు చేస్తున్నందున జాబితా అలాగే క్యూగా ప్రవర్తిస్తుంది. |
శ్రేణి జాబితా యొక్క నిర్వచనం
ది AbstractList తరగతి ద్వారా నిర్వచించబడింది సేకరణ ముసాయిదా. ఇది విస్తరించింది AbstarctList మరియు పనిముట్లు జాబితా ఇంటర్ఫేస్. శ్రేణి జాబితా ఉపయోగాలు డైనమిక్ శ్రేణి అనగా జాబితాలోని మూలకాలను నిల్వ చేయడానికి అంతర్గత డేటా నిర్మాణంగా వేరియబుల్ పొడవు యొక్క శ్రేణి. జావాలోని శ్రేణి స్థిర పొడవు ఉన్నందున అర్రేలిస్ట్ యొక్క అవసరం తలెత్తుతుంది. కాబట్టి శ్రేణి నుండి మూలకాలు జోడించబడతాయి లేదా తొలగించబడతాయి కాబట్టి ఇది పరిమాణంలో పెరగడం లేదా కుదించడం సాధ్యం కాదు. కాబట్టి మీరు అవసరమైన శ్రేణి యొక్క పరిమాణాన్ని ముందుగానే తెలుసుకోవాలి. అర్రేలిస్ట్ క్లాస్ ఉపయోగించి అమలు చేయబడిన శ్రేణి జాబితా శ్రేణి నుండి మూలకాలు జోడించబడటం లేదా తొలగించబడటం వలన పరిమాణం పెరుగుతుంది మరియు కుదించవచ్చు.
అర్రేలిస్ట్ ఉపయోగించి అమలు చేయబడిన శ్రేణి జాబితాను యాక్సెస్ చేయవచ్చు యాదృచ్ఛికంగా అర్రేలిస్ట్ ఇండెక్స్-ప్రాతిపదికన పనిచేస్తుంది. కాబట్టి సూచికను తెలుసుకోవడం ద్వారా మీరు జాబితా యొక్క ఎలిమెంట్ను నేరుగా యాక్సెస్ చేయవచ్చు. అర్రేలిస్ట్ యొక్క ముగ్గురు కన్స్ట్రక్టర్లు ఉన్నారు:
శ్రేణి జాబితా () శ్రేణి జాబితా (సేకరణ <? విస్తరిస్తుంది E> సి) శ్రేణి జాబితా (పూర్ణాంక సామర్థ్యం)
ది ప్రధమ కన్స్ట్రక్టర్ ఖాళీ శ్రేణి జాబితాను అమలు చేస్తుంది. ది రెండవ కన్స్ట్రక్టర్ ఉపయోగించి ప్రారంభించిన శ్రేణి జాబితాను అమలు చేస్తుంది సేకరణ సి అంశాలు. ది మూడో కన్స్ట్రక్టర్ అర్రే జాబితాను అమలు చేస్తుంది సామర్థ్యాన్ని వాదనలో అందించబడింది. అర్రేలిస్ట్తో పనిచేయడం, కొన్నిసార్లు మీరు కలెక్షన్ అర్రేలిస్ట్ను శ్రేణిగా మార్చడం అవసరం. కాల్ చేయడం ద్వారా చేయవచ్చు toArray ().
లింక్డ్లిస్ట్ యొక్క నిర్వచనం
శ్రేణి జాబితా వలె, LinkedList కూడా ఒక కలెక్షన్ తరగతి ఉపయోగాలు రెట్టింపు లింక్ జాబితా జాబితాలోని అంశాలను నిల్వ చేయడానికి అంతర్గత డేటా నిర్మాణంగా. లింక్డ్లిస్ట్ క్లాస్ విస్తరించింది AbstractSequentialList మరియు అమలు చేస్తుంది జాబితా, Deque మరియు క్యూ ఇంటర్ఫేస్లు. లింక్డ్లిస్ట్ ఉపయోగించి అమలు చేయబడిన లింక్ జాబితాను యాదృచ్ఛికంగా యాక్సెస్ చేయలేరు. మీరు జాబితా నుండి ఏదైనా మూలకాన్ని తిరిగి పొందాలనుకుంటే, ఆ మూలకాన్ని శోధించడానికి మీరు జాబితాను మళ్ళించాలి.
లింక్డ్లిస్ట్ క్లాస్లో ఇద్దరు కన్స్ట్రక్టర్లు ఉన్నారు.
లింక్డ్లిస్ట్ () లింక్డ్లిస్ట్ (సేకరణ <? విస్తరిస్తుంది E> సి)
ది ప్రధమ కన్స్ట్రక్టర్ ఖాళీ లింక్డ్ జాబితాను సృష్టిస్తాడు. ది రెండవ కన్స్ట్రక్టర్ లింక్డ్ జాబితాను సృష్టిస్తుంది, యొక్క అంశాలతో ప్రారంభించబడింది కలెక్షన్ సి.
లింక్డ్లిస్ట్లో, జాబితా యొక్క తారుమారు సులభం మరియు వేగంగా ఉంటుంది. ఎందుకంటే మీరు జాబితాలోని ఏదైనా మూలకాన్ని జోడిస్తే లేదా తొలగించినట్లయితే, అర్రేలిస్ట్లో ఉన్నట్లుగా మూలకాలను మార్చాల్సిన అవసరం లేదు. మూలకాలను నేరుగా యాక్సెస్ చేయడానికి సూచిక లేనందున ప్రాప్యత నెమ్మదిగా ఉంటుంది.
- అర్రేలిస్ట్ చేత అమలు చేయబడిన జాబితాను యాదృచ్ఛికంగా యాక్సెస్ చేయవచ్చు ఎందుకంటే అర్రేలిస్ట్ శ్రేణి యొక్క ఇండెక్స్-ఆధారిత డేటా నిర్మాణాన్ని అవలంబిస్తుంది. మరోవైపు, లింక్డ్లిస్ట్ అమలు చేసిన జాబితాను యాదృచ్ఛికంగా యాక్సెస్ చేయలేము ఎందుకంటే జాబితాలోని ఒక నిర్దిష్ట మూలకాన్ని తిరిగి పొందడం లేదా యాక్సెస్ చేయడం కోసం మీరు జాబితాను దాటాలి.
- జాబితా యొక్క అంశాలను నిల్వ చేయడానికి అర్రేలిస్ట్ ఉపయోగించే అంతర్గత డేటా నిర్మాణం a డైనమిక్ శ్రేణి జాబితా నుండి మూలకాలు జోడించబడినప్పుడు లేదా తొలగించబడినప్పుడు అది పెరుగుతుంది లేదా కుదించవచ్చు. ఏదేమైనా, జాబితాలోని అంశాలను నిల్వ చేయడానికి లింక్డ్లిస్ట్ ఉపయోగించే అంతర్గత డేటా నిర్మాణం రెట్టింపు లింక్ జాబితా.
- శ్రేణి జాబితా విస్తరించింది AbstractList తరగతి ఇది కలెక్షన్ క్లాస్ అయితే, లింక్డ్లిస్ట్ క్లాస్ విస్తరించింది AbstractSequentialList మళ్ళీ కలెక్షన్ క్లాస్.
- శ్రేణి జాబితా తరగతి అమలు చేస్తుంది జాబితా ఇంటర్ఫేస్ అయితే, లింక్డ్లిస్ట్ క్లాస్ అమలు చేస్తుంది జాబితా, క్యూ, మరియు Deque ఇంటర్ఫేస్లు.
- అర్రేలిస్ట్ ఉపయోగించి అమలు చేయబడిన జాబితా నుండి అంశాలను యాక్సెస్ చేయడం వేగంగా ఇది సూచిక-ఆధారిత డేటా నిర్మాణాన్ని కలిగి ఉన్నందున. మరోవైపు, లింక్డ్లిస్ట్ చేత అమలు చేయబడిన జాబితాలో సూచిక ఆధారిత నిర్మాణం లేదు. అందువల్ల, ప్రాప్యత చేయవలసిన మూలకాన్ని చేరుకోవడానికి జాబితాపై ఒక ఇరేటర్ వర్తించబడుతుంది నెమ్మదిగా లింక్డ్లిస్ట్లో.
- మానిప్యులేషన్ అనేది అర్రేలిస్ట్ ఉపయోగించి అమలు చేయబడిన జాబితాలో మానిప్యులేషన్, ఎందుకంటే జాబితా నుండి ఒక మూలకం జోడించబడినప్పుడు లేదా తొలగించబడినప్పుడు, జాబితాలోని అంశాలు మార్పుకు అనుగుణంగా మార్చబడతాయి. మరోవైపు, లింక్డ్లిస్ట్ అమలు చేసిన జాబితాలో తారుమారు వేగంగా ఉంటుంది, ఎందుకంటే జాబితాలోని మూలకాలను అదనంగా లేదా తొలగించేటప్పుడు జాబితాలోని అంశాలను మార్చడం అవసరం లేదు.
- శ్రేణి జాబితా a లాగా పనిచేస్తుంది జాబితా ఇది జాబితా ఇంటర్ఫేస్ను అమలు చేస్తున్నప్పుడు, లింక్డ్లిస్ట్ పనిచేస్తుంది జాబితా మరియు క్యూ ఇది జాబితా మరియు క్యూ రెండింటినీ అమలు చేస్తుంది.
ముగింపు:
జాబితాలోని మూలకాల యొక్క తరచుగా చేరిక లేదా తొలగింపు ఉన్నప్పుడు, తారుమారు చేసేటప్పుడు మెరుగైన పనితీరు కనబరిచినందున లింక్డ్లిస్ట్ ఉపయోగించాలి. జాబితాకు తరచుగా శోధన వర్తింపజేస్తే, శ్రేణి జాబితా ఉత్తమ ఎంపిక, ఎందుకంటే జాబితా నుండి మూలకాలను యాక్సెస్ చేసేటప్పుడు ఇది మెరుగ్గా పనిచేస్తుంది.