Diferenca kryesore – ArrayList vs LinkedList
Koleksionet janë të dobishme për ruajtjen e të dhënave. Në një grup normal, madhësia e grupit është fikse. Ndonjëherë kërkohet të krijohen vargje që mund të rriten sipas nevojës. Gjuhët e programimit si Java kanë koleksione. Është një kornizë me një grup klasash dhe ndërfaqesh. Ai shërben si një enë për një grup elementësh. Koleksionet ju lejojnë të ruani, përditësoni, merrni një grup elementësh. Ndihmon për të punuar me strukturat e të dhënave si listat, grupet, pemët dhe hartat. Lista është një ndërfaqe e kornizës së Koleksionit. ArrayList dhe LinkedList janë dy klasa në kornizën e koleksioneve. Ata zbatojnë ndërfaqen e mbledhjes dhe ndërfaqen e Listës. Ky artikull diskuton ndryshimin midis ArrayList dhe LinkedList. ArrayList është një klasë që zgjeron AbstractList dhe zbaton ndërfaqen List, e cila përdor së brendshmi një grup dinamik për të ruajtur elementët e të dhënave. LinkedList është një klasë që zgjeron AbstractSequentialList dhe zbaton ndërfaqet List, Deque dhe Queue, të cilat brenda vetes përdorin një listë të lidhur dyfish për të ruajtur elementët e të dhënave. Ky është ndryshimi kryesor midis ArrayList dhe LinkedList.
Çfarë është ArrayList?
Klasa ArrayList përdoret për të krijuar vargje dinamike. Ndryshe nga një grup normal, madhësia e një grupi dinamik nuk është fikse. Një objekt i krijuar duke përdorur klasën ArrayList lejohet të ruajë një grup elementësh në listë. Kapaciteti rritet automatikisht, kështu që programuesi mund të shtojë elementë në listë. Klasa ArrayList zgjeron klasën AbstractList që implementon ndërfaqen List. Prandaj, metodat e ndërfaqes List mund të përdoren nga ArrayList. Për të hyrë në elementë, përdoret metoda get(). Metoda add() mund të përdoret për të shtuar elementë në listë. Metoda remove() përdoret për të hequr një element nga lista. Referojuni programit të mëposhtëm.
Figura 01: Shembull i ArrayList
Sipas programit të mësipërm, krijohet një objekt i ArrayList. Duke përdorur metodën e shtimit, elementët mund të shtohen në mënyrë dinamike. Elementet "A", "B", "C", "D" dhe "E" shtohen duke përdorur metodën e shtimit. Metoda e heqjes përdoret për të hequr një element nga lista. Kur kaloni 4 në metodën e heqjes, shkronja në indeksin e 4-të që është "E" hiqet nga lista. Kur përsëriteni nëpër listë duke përdorur ciklin for, shkronjat A, B, C dhe D do të printohen.
Çfarë është LinkedList?
Ngjashëm me ArrayList, LinkedList përdoret për të ruajtur elementët e të dhënave në mënyrë dinamike. Një objekt i krijuar duke përdorur klasën LinkedList lejohet të ruajë një grup elementësh në listë. Kapaciteti rritet automatikisht, kështu që programuesi mund të shtojë elementë në listë. Ai përdor nga brenda listën e lidhur dyfish për të ruajtur të dhënat. Në një listë të lidhur dyfish, të dhënat ruhen si nyje. Çdo nyje përmban dy lidhje. Lidhja e parë tregon nyjen e mëparshme. Lidhja tjetër tregon nyjen tjetër në sekuencë.
Klasa LinkedList zgjeron klasën AbstractSequentialList dhe zbaton ndërfaqen List. Prandaj, metodat e ndërfaqes List mund të përdoren nga LinkedList. Metoda get() mund të përdoret për të aksesuar elementët e listës. Metoda add() mund të përdoret për të shtuar elementë në listë. Metoda remove() përdoret për të hequr një element nga lista. Referojuni programit të mëposhtëm.
Figura 02: Shembull me LinkedList
Sipas programit të mësipërm, krijohet një objekt i LinkedList. Duke përdorur metodën e shtimit, elementët mund të shtohen në mënyrë dinamike. Elementet "A", "B", "C", "D" dhe "E" shtohen duke përdorur metodën e shtimit. Metoda e heqjes përdoret për të hequr një element nga lista. Kur kaloni 4 në metodën e heqjes, shkronja në indeksin e 4-të që është "E" hiqet nga lista. Kur përsëritni duke përdorur ciklin for, shkronjat A, B, C dhe D do të printohen.
Cilat janë ngjashmëritë midis ArrayList dhe LinkedList?
- Të dyja, ArrayList dhe LinkedList zbatojnë ndërfaqen e Listës.
- Të dy ArrayList dhe LinkedList mund të përmbajnë elemente të dyfishta.
- Të dy ArrayList dhe LinkedList ruajnë rendin e futjes.
Cili është ndryshimi midis ArrayList dhe LinkedList?
ArrayList vs LinkedList |
|
ArrayList është një klasë që zgjeron AbstractList dhe zbaton ndërfaqen List e cila përdor brenda një grupi dinamik për të ruajtur elementët e të dhënave. | LinkedList është një klasë që zgjeron AbstractSequentialList dhe zbaton ndërfaqet List, Deque, Queue, e cila përdor në brendësi një listë të lidhur dyfish për të ruajtur elementët e të dhënave. |
Përdorimi i elementeve | |
Qasja në elementët e ArrayList është më e shpejtë se ajo e një LinkedList. | Qasja në elementët e LinkedList është më e ngad altë se e një ArrayList. |
Manipulimi i elementeve | |
Manipulimi i elementeve të ArrayList është më i ngadalshëm se i një LinkedList. | Manipulimi i elementeve të LinkedList është më i shpejtë se i një ArrayList. |
Sjellje | |
ArrayList funksionon si një listë. | LinkedList funksionon si një listë dhe një radhë. |
Përmbledhje – ArrayList vs LinkedList
Korniza e mbledhjes lejon punën me strukturat e të dhënave si listat, pemët, hartat dhe grupet. Lista është një ndërfaqe e kornizës së koleksionit. Ky artikull diskutoi ndryshimin midis ArrayList dhe LinkedList. ArrayList është një klasë që zgjeron AbstractList dhe zbaton ndërfaqen List që përdor së brendshmi një grup dinamik për të ruajtur elementët e të dhënave. LinkedList është një klasë që zgjeron AbstractSequentialList dhe zbaton ndërfaqet List, Deque, Queue, e cila përdor në brendësi një listë të lidhur dyfish për të ruajtur elementët e të dhënave. Ky është ndryshimi midis ArrayList dhe LinkedList.