Video: Razlika Između Nizova I Arraylista
2024 Autor: Mildred Bawerman | [email protected]. Zadnja promjena: 2023-12-16 08:39
Nizovi protiv arraylista
Nizovi su najčešće korištena struktura podataka za pohranu zbirke elemenata. Većina programskih jezika pruža metode za lako deklariranje nizova i pristup elementima u nizovima. Arraylist se može promatrati kao dinamički niz koji može rasti u veličini. Iz tog razloga, programer ne mora znati veličinu arraylista kad ga definira.
Što su nizovi?
Na slici 1 prikazan je dio koda koji se obično koristi za deklariranje i dodjeljivanje vrijednosti nizu. Slika 2 prikazuje kako bi niz izgledao u memoriji.
vrijednosti [0] = 100; vrijednosti [1] = 101; vrijednosti [2] = 102; vrijednosti [3] = 103; vrijednosti [4] = 104; |
Slika 1: Kôd za deklariranje i dodjeljivanje vrijednosti nizu
100 | 101 | 102 | 103 | 104 |
Indeks: 0 | 1 | 2 | 3 | 4 |
Slika 2: Niz pohranjen u memoriji
Iznad koda definira niz koji može pohraniti 5 cijelih brojeva i kojima se pristupa pomoću indeksa 0 do 4. Jedno važno svojstvo niza je da je čitav niz dodijeljen kao jedan blok memorije i svaki element dobiva svoj vlastiti prostor u polju. Jednom kada je niz definiran, njegova je veličina fiksna. Dakle, ako niste sigurni u veličinu niza u vrijeme sastavljanja, morali biste definirati dovoljno velik niz da bude na sigurnoj strani. No, najčešće ćemo zapravo koristiti manji broj elemenata nego što smo dodijelili. Dakle, znatna količina memorije je zapravo izgubljena. S druge strane, ako "dovoljno velik niz" zapravo nije dovoljno velik, program bi se srušio.
Što su arraylisti?
Arraylist se može promatrati kao dinamički niz koji može rasti u veličini. Stoga su arraylisti idealni za upotrebu u situaciji u kojoj ne znate veličinu elemenata potrebnih u trenutku deklaracije. U Javi arraylisti mogu sadržavati samo objekte, ne mogu izravno držati primitivne tipove (primitivne tipove možete staviti unutar objekta ili koristiti klase omota primitivnih tipova). Općenito se arraylistima nude metode za izvođenje umetanja, brisanja i pretraživanja. Vremenska složenost pristupa elementu je o (1), dok umetanje i brisanje ima vremensku složenost o (n). U Javi se arrailistima može prelaziti pomoću foreach petlji, iteratora ili jednostavno pomoću indeksa.
Koja je razlika između Arrays i Arraylists
Iako su nizovi i arraylists slični u smislu da se obojica koriste za pohranu zbirki elemenata, razlikuju se u načinu na koji su definirani. Veličina niza mora se navesti kada je niz definiran, ali možete definirati arraylist bez da znate stvarnu veličinu. Elemente možete dodati u arraylist nakon što je definiran, a to nije moguće s nizovima. Ali u Javi arraylisti ne mogu sadržavati primitivne tipove, ali se nizovi mogu koristiti za držanje primitivnih tipova. Ali ako trebate strukturu podataka koja može varirati u njezinoj veličini, arraylist bi bio najbolji izbor.
Preporučeno:
Razlika Između Simetričnih I Asimetričnih Gornjih Molekula
Ključna razlika između simetričnih i asimetričnih molekula vrha je u tome što simetrične molekule vrha imaju jednu pravilnu os rotacije i dva momenta tromosti
Razlika Između Spoja Između Blizanaca I Blizina
Ključna razlika između geminalne i vicinalne sprege je ta što se geminalna sprega odnosi na sprezanje dvaju atoma vodika koji su vezani za isti ca
Razlika Između Komunikacije Između životinja I Ljudi
Komunikacija između životinja i ljudi Prenošenje značajnih informacija poznato je pod nazivom komunikacija, i to je sastavni dio uspjeha, pa stoga i dugotrajna
Razlika Između Arraylista I Vektora
Arraylist vs Vector Arraylist se može promatrati kao dinamički niz koji može rasti u veličini. Iz tog razloga programer ne mora znati veličinu
Razlika Između Ključne Razlike Između Metalnih I Nemetalnih Minerala
Ključna razlika - metalni i nemetalni minerali Mineral je prirodni čvrsti i anorganski sastojak s određenom kemijskom formulom i