Popis u Javi je podsučelje koji daje optimalna rješenja s konceptima kao što su položajni pristup, iteracija i tako dalje. U ovom ću članku razgovarati o glavnim razlikama između popisa sučelja LinkedList i ArrayList u Javi.
Ispod su teme obrađene u ovom članku:
- Što je LinkedList?
- Što je ArrayList?
- Sličnosti između LinkedList i ArrayList
- Razlike između LinkedList i ArrayList
php pretvori niz u niz
Što je LinkedList?
Nakon nizovi , druga najpopularnija struktura podataka definitivno je . Povezani popis linearna je struktura podataka koju čini alanac čvorova u kojem svaki čvor sadrži vrijednost i apokazivačdo sljedećeg čvora u lancu.Također, tzadnja karika na povezanom popisu pokazuje na nulu, što znači kraj lanca.Element na povezanom popisu naziva se a čvor .Prvi čvor na popisu naziva se glava .Posljednji čvor naziva se rep .
Dopustite mi da vam dam jednostavan primjer ovoga: Zamislite lanac spajalica koji su međusobno povezani. Možete jednostavno dodati još jednu spajalicu na vrh ili na dno. Također je lako umetnuti jedan u sredinu. Sve što morate učiniti je samo prekinuti lanac u sredini, dodati novu spajalicu, a zatim ponovno spojiti drugu polovicu. Povezani popis sličan je ovome.
Primjer:
paket MyPackage import java.util.LinkedList import java.util.ListIterator public class linkedlist {public static void main (String args []) {/ * Izjava o povezanom popisu * / LinkedListl_list = new LinkedList () / * add (String Item) is koristi se za dodavanje * Stavaka na povezani popis * / l_list.add ('Java') l_list.add ('Python') l_list.add ('Scala') l_list.add ('Swift') System.out.println ( 'Sadržaj povezanog popisa:' + l_list) / * Dodaj stavke na navedenom položaju * / l_list.add (2, 'JavaScript') l_list.add (3, 'Kotlin') System.out.println ('l_list Sadržaj nakon uređivanja: '+ l_list) / * Dodaj prvu i zadnju stavku * / l_list.addFirst (' Prvi tečaj ') l_list.addLast (' Zadnji tečaj ') System.out.println (' l_list Sadržaj nakon dodavanja: '+ l_list) / * Dohvati i postavite stavke na popisu * / objekt firstvar = l_list.get (0) System.out.println ('Prva stavka:' + firstvar) l_list.set (0, 'Java9') System.out.println ('l_list Sadržaj nakon ažuriranja prve stavke: '+ l_list) / * Ukloni s položaja * / l_list.remove (1) l_list.remove (2) System.out.println ('LinkedList nakon brisanja stavke na 2. i 3. poziciji' + l_list) / * Ukloni prvu i zadnju stavku * / l_list.removeFirst () l_list.removeLast () System.out.println ('Konačni sadržaj nakon uklanjanja prve i zadnje stavke : '+ l_list) / * Iteriranje povezanog popisa * / ListIteratoritrator = l_list.listIterator () System.out.println (' Popis prikazan pomoću iteratora: ') while (itrator.hasNext ()) {System.out.println (itrator .Sljedeći()) } } }
Izlaz:
Sadržaj povezanog popisa = {Java, Python, Scala, Swift} Sadržaj nakon uređivanja = {Java, Python, JavaScript, Kotlin, Scala, Swift} Sadržaj nakon dodavanja = {Prvi tečaj, Java, Python, JavaScript, Kotlin, Scala, Swift, Zadnji tečaj} Prva stavka = {Prvi tečaj} Sadržaj nakon ažuriranja prve stavke = {Java9, Java, Python, JavaScript, Kotlin, Scala, Swift, Zadnji tečaj} Sadržaj nakon brisanja predmeta na 2. i 3. poziciji = {Java9, Python, Kotlin, Scala, Swift, Zadnji tečaj} Konačni sadržaj nakon uklanjanja prve i posljednje stavke = {Python, Kotlin, Scala, Swift} Popis prikazan pomoću iteratora = Python Kotlin Scala Swift
Krenimo sada na sljedeću temu.
Što je ArrayList?
je implementacija sučelja popisa gdje se elementi mogu dinamički dodavati ili uklanjati s odgovarajućeg popisa. Ovdje se veličina popisa dinamički povećava ako se elementi dodaju više od početne ili stvarne veličine. Iako je možda sporiji od standardnih nizova, može biti od pomoći u programima u kojima je potrebno puno manipulacija nizom.
ArrayList koristi se u ove svrhe:
- ArrayList u Javi je navikao na pohraniti zbirka elemenata dinamičke veličine.
- Inicijalizira se veličinom. Međutim, veličina se može povećati ako zbirka raste i smanjuje se ako se predmeti uklone iz .
- Također, ArrayList omogućuje vam nasumični pristup popisu.
Krenimo dalje i ukažemo na sličnosti između LinkedList i ArrayList u Javi.
Sličnosti između LinkedList i ArrayList
To su značajne sličnosti između LinkedList i ArrayList u Javi.
- ArrayList i LinkedList su implementacije Sučelje popisa .
- I ArrayList i LinkedList održavaju redoslijed umetanja elemenata. To znači da bi, tijekom prikazivanja elemenata Popisa, skup rezultata imao isti redoslijed kojim su elementi umetnuti u Popis.
- Klase TheseArrayList i LinkedList nisu sinkronizirane i mogu se izričito sinkronizirati pomoću CollectionsSynchronizedList metoda.
- Iterator i ListIterator koje su vratile ove klase brzi su. To znači da, ako je popis strukturno izmijenjen u bilo kojem trenutku nakon stvaranja iteratora, osimvlastite metode uklanjanja ili dodavanja iteratora, iterator će baciti a ConcurrentModificationException .
Razlike između LinkedList i ArrayList
Prvo, pogledajmo parametre za usporedbu LinkedList i ArrayList u Javi.
Parametri za usporedbu LinkedList i ArrayList u Javi:
- Operacija
- Provedba
- Postupak
- Memorija
- Operacije
Operacije umetanja, dodavanja i uklanjanja predmeta brže su u a LinkedList jer ne trebamo mijenjati veličinu kao u ArrayList.
2. Provedba
stvoriti ec2 instancu iz snimke
ArrayList temelji se na koncept dinamički promjenjivog niza, dok LinkedList temelji se na dvostruko povezanoj provedbi popisa
3. Postupak
DO LinkedList klasa se može koristiti kao popis i red jer implementira sučelja List i Deque dok ArrayList može implementirati samo Liste.
Četiri. Memorija
DO LinkedList troši više memorije od ArrayList jer svaki čvor u a LinkedList pohranjuje dvije reference, dok ArrayList sadrži samo podatke i njihov indeks
LinkedList vs ArrayList u Javi
Parametri | LinkedList | ArrayList |
Operacije | Operacije umetanja, dodavanja i uklanjanja prilično su brže | Usporedno s operacijamasu ovdje spori |
Provedba | Prati provedbu dvostruko povezanog popisa | Slijedi koncept dinamički promjenjivog niza kako deklarirati varijablu instance u javi |
Postupak | Klasa LinkedList može biti popis i red jer implementira sučelja List i Deque | Klasa ArrayList može biti popis jer provodi samo Popise |
Memorija | Potrošnja memorije u LinkedListu je velika | Manje u usporedbi s LinkedListom |
To je sve narode! Ovo nas dovodi do kraja ovog članka o LinkedList vs ArrayList u Javi. Nadam se da ste jasni s onim što se uči u ovom članku.
Ako ste pronašli ovaj članak o 'LinkedList vs ArrayList u Javi', pogledajte Edureka, pouzdane tvrtke za internetsko učenje s mrežom od više od 250 000 zadovoljnih učenika raširenih širom svijeta. Ovdje smo da vam pomognemo u svakom koraku na putovanju i osmislili smo nastavni plan i program koji je dizajniran za studente i profesionalce koji žele biti programer Java.