Razlika Med Nizi In Arrailisti

Razlika Med Nizi In Arrailisti
Razlika Med Nizi In Arrailisti

Video: Razlika Med Nizi In Arrailisti

Video: Razlika Med Nizi In Arrailisti
Video: miihi vs nizi project drama 2024, November
Anonim

Nizov vs Arraylists

Polja so najpogosteje uporabljena podatkovna struktura za shranjevanje zbirke elementov. Večina programskih jezikov ponuja metode za enostavno razglasitev nizov in dostop do elementov v nizih. Arraylist lahko vidimo kot dinamično matriko, ki se lahko poveča. Iz tega razloga programerki ni treba vedeti velikosti arraylist-a, ko ga definira.

Kaj so nizi?

Na sliki 1 je prikazan del kode, ki se običajno uporablja za deklariranje in dodelitev vrednosti matriki. Slika 2 prikazuje, kako bi bila matrika videti v spominu.

vrednosti [0] = 100;

vrednosti [1] = 101;

vrednosti [2] = 102;

vrednosti [3] = 103;

vrednosti [4] = 104;

Slika 1: Koda za prijavo in dodelitev vrednosti matriki

100 101 102 103 104 Kazalo: 0 1. 2. 3. 4.

Slika 2: Niz, shranjen v pomnilniku

Nad kodo definira matriko, ki lahko shrani 5 celih števil in do njih pridete z uporabo indeksov 0 do 4. Ena pomembnih lastnosti matrike je, da je celotno polje dodeljeno kot en blok pomnilnika in vsak element dobi svoj prostor v matriki. Ko je polje definirano, je njegova velikost fiksna. Če torej niste prepričani o velikosti matrike v času prevajanja, bi morali določiti dovolj veliko matriko, da bi bila na varni strani. Toda v večini primerov bomo dejansko uporabili manj elementov, kot smo jih dodelili. Tako je dejansko zapravljena precejšnja količina spomina. Po drugi strani pa, če »dovolj velika matrika« dejansko ni dovolj velika, bi se program zrušil.

Kaj so Arraylists?

Arraylist lahko vidimo kot dinamično matriko, ki se lahko poveča. Zato so arraylists idealni za uporabo v primerih, ko ne veste velikosti elementov, ki so potrebni v času deklaracije. V Javi lahko arraylists vsebujejo samo predmete, primitivnih tipov ne morejo imeti neposredno (primitivne tipe lahko vstavite znotraj predmeta ali uporabite razrede ovojnic primitivnih tipov). Na splošno so arraylists opremljeni z metodami za vstavljanje, brisanje in iskanje. Časovna zapletenost dostopa do elementa je o (1), medtem ko ima vstavljanje in brisanje časovno zapletenost o (n). V Javi lahko arrayliste pregledujete z zankami foreach, iteratorji ali preprosto s pomočjo indeksov.

Kakšna je razlika med Arrays in Arraylists

Čeprav so nizi in seznami podob podobni v smislu, da se oba uporabljata za shranjevanje zbirk elementov, se razlikujejo po tem, kako so definirani. Velikost matrike je treba navesti, ko je matrika definirana, vendar lahko arraylist določite, ne da bi vedeli dejansko velikost. Elemente lahko dodate arraylistu, ko je ta definiran, kar pa ni mogoče z matrikami. Toda v Javi arraylists ne morejo vsebovati primitivnih vrst, lahko pa se matrike uporabljajo za primitivne tipe. Če pa potrebujete podatkovno strukturo, ki lahko spreminja njeno velikost, bi bila najboljša izbira arraylist.

Priporočena: