Atšķirība starp masīviem un masīvu sarakstiem

Atšķirība starp masīviem un masīvu sarakstiem
Atšķirība starp masīviem un masīvu sarakstiem

Video: Atšķirība starp masīviem un masīvu sarakstiem

Video: Atšķirība starp masīviem un masīvu sarakstiem
Video: Filatov & Karas - Au Au (Official Music Video) 2024, Jūlijs
Anonim

Masīvi pret masīvu sarakstiem

Masīvi ir visbiežāk izmantotā datu struktūra elementu kolekcijas glabāšanai. Lielākā daļa programmēšanas valodu nodrošina metodes, kā viegli deklarēt masīvus un piekļūt masīvu elementiem. Masīvu sarakstu var uzskatīt par dinamisku masīvu, kura izmērs var pieaugt. Šī iemesla dēļ programmētājai nav jāzina masīvu saraksta lielums, kad viņa to definē.

Kas ir masīvi?

Parādīts 1. attēlā, ir koda daļa, ko parasti izmanto, lai deklarētu un piešķirtu vērtības masīvam. 2. attēlā parādīts, kā masīvs izskatītos atmiņā.

int vērtības[5];

values[0]=100;

values[1]=101;

values[2]=102;

vērtības[3]=103;

values[4]=104;

1. attēls. Kods vērtību deklarēšanai un piešķiršanai masīvam

100 101 102 103 104
Indekss: 0 1 2 3 4

2. attēls. Atmiņā saglabātais masīvs

Virs kods definē masīvu, kurā var saglabāt 5 veselus skaitļus, un tiem var piekļūt, izmantojot indeksus no 0 līdz 4. Viena svarīga masīva īpašība ir tāda, ka viss masīvs tiek piešķirts kā viens atmiņas bloks un katrs elements iegūst savu sava vieta masīvā. Kad masīvs ir definēts, tā lielums tiek fiksēts. Tātad, ja neesat pārliecināts par masīva lielumu kompilēšanas laikā, jums ir jādefinē pietiekami liels masīvs, lai tas būtu drošā pusē. Bet vairumā gadījumu mēs faktiski izmantosim mazāk elementu, nekā esam atvēlējuši. Tātad ievērojams atmiņas apjoms faktiski tiek iztērēts. No otras puses, ja “pietiekami liels masīvs” patiesībā nav pietiekami liels, programma avarēs.

Kas ir masīvu saraksti?

Masīvu sarakstu var uzskatīt par dinamisku masīvu, kura izmērs var pieaugt. Tāpēc masīvu saraksti ir ideāli piemēroti lietošanai situācijās, kad deklarēšanas brīdī nezināt nepieciešamo elementu lielumu. Java programmā masīvu saraksti var saturēt tikai objektus, tie nevar tieši saturēt primitīvos tipus (varat ievietot primitīvos veidus objektā vai izmantot primitīvo tipu iesaiņojuma klases). Parasti masīvu saraksti tiek nodrošināti ar metodēm, kā veikt ievietošanu, dzēšanu un meklēšanu. Elementa piekļuves laika sarežģītība ir o(1), savukārt ievietošanas un dzēšanas laika sarežģītība ir o(n). Java masīvu sarakstus var šķērsot, izmantojot foreach cilpas, iteratorus vai vienkārši izmantojot indeksus.

Kāda ir atšķirība starp masīviem un masīvu sarakstiem

Lai gan masīvi un masīvu saraksti ir līdzīgi tādā nozīmē, ka tie abi tiek izmantoti elementu kolekciju glabāšanai, tie atšķiras pēc to definīcijas. Masīva lielums ir jānorāda, kad ir definēts masīvs, taču jūs varat definēt masīvu sarakstu, nezinot faktisko izmēru. Varat pievienot elementus masīvu sarakstam pēc tam, kad tas ir definēts, un tas nav iespējams ar masīviem. Bet Java, masīvu saraksti nevar saturēt primitīvus tipus, bet masīvus var izmantot primitīvu tipu turēšanai. Bet, ja jums ir nepieciešama datu struktūra, kuras lielums var mainīties, labākā izvēle būtu masīvu saraksts.

Ieteicams: