Шта је Динамиц Арраи у Јави?



Динамички низ у Јави је врста низа са огромним побољшањем за аутоматско мењање величине. Једино ограничење низова је што је фиксне величине.

Низови у су хомогене структуре података имплементиране у Јави као објекти. Низови чувају једну или више вредности одређеног типа података и пружају индексирани приступ за њихово складиштење. Његовом индексу се приступа одређеном елементу низа. У овом чланку ћемо разговарати о динамичком низу у Јави у следећем низу:

Увод у динамички низ у Јави

Динамички низ је такав тип низа са огромним побољшањем за аутоматско мењање величине. Једино ограничење низова је што је фиксне величине. Ово се претвара у значење да можете одредити само број елемената које ваш низ може да задржи пре времена. С друге стране, динамички низови се могу проширити док у реалном времену додајемо више елемената. Због тога кодер не треба да одреди величину низа пре времена. Има и још неколико предности:





  • Брзо тражење . Исто као што низу, низу, приликом дохваћања елемента са датим индексом треба време О (1).



  • Променљива величина . Можемо уметнути онолико елемената колико желимо и динамички низ ће се сходно томе проширити да их задржи.

  • Прикладно за предмеморију . Слично као низови, динамички низови могу ставити ставке једну до друге у меморију, чиме се ефикасно користи предмеморија.



Постоје неке недостатке употребе динамичких низова у нашем коду. Иако у већини апликација користимо динамичке низове више него било шта друго, постоје случајеви у којима они не постају најпожељнији избор због својих ограничења.

  • Споро најгори случај се додаје . Обично, док је додавање новог елемента на крају динамичког низа, потребно је О (1) у једном тренутку. Међутим, ако динамички низ нема више индекса за нову ставку, тада ће морати да се прошири, што узима О (н) одједном.

  • Скупа уметања и брисања. Слично као низови, елементи се чувају један поред другог. Дакле, док додајете или уклањате ставку у центру низа, потребно је потискивање других елемената, што узима О (н) одједном.

Дијаграми у наставку приказују како низови раде у реалном времену и приказују како су елементи сложени. Такође показује како се упутства мењају за просечан случај и најгори случај функције низа.

низ - динамички низ у јави - едурека

Величина наспрам капацитета

Када иницијализујемо динамички низ, имплементација динамичког низа ствара разумљиви низ фиксне величине. Почетна величина одговара примени. На пример, направимо наш низ имплементације да користи 10 индекса. Сада додајемо четири ставке у наш динамички низ. Сада је наш динамички низ дужине четири. Међутим, наш основни низ има дужину 10. Стога бисмо могли рећи да је величина динамичког низа четири, а његов капацитет 10. Динамички низ чува одређени крајњи индекс за праћење крајње тачке динамичког низа и почетне тачка одакле почиње додатни капацитет.

Удвостручује се

Постоје случајеви када покушавамо да додамо ставку у низ где је капацитет већ попуњен. Стога, за стварање собних динамичких низова аутоматски се креира нови, већи и основни низ. Обично постаје двоструко већи за руковање било којим новим додацима, што раније није предвидео. Дакле, копирање сваке ставке не троши време. Кад год додавање ставке у наш динамички низ аутоматски направи нови основни низ двоструке величине, за додавање не треба времена.

Брисање елемента

Док брише елемент из низа, задата метода „ремове ()“ уклања елемент са краја и аутоматски чува нулу у последњем индексу. Такође ће избрисати елементе на одређеном индексу позивањем методе ремовеАт (и) где је „И“ индекс. Метода ремовеАт (и) помера све десне елементе на левој страни из датог индекса.

Промена величине низа

Када низови немају податке на десној страни низа који узимају непотребну меморију, метода сринкСизе () ослобађа додатну меморију. Када се потроше сви слотови и додају додатни елементи, основни низ фиксне величине мора повећати величину. Стварна промена величине је скупа, јер морамо доделити већи низ и копирати све елементе из низа који сте прерасли да би коначно могао да дода нову ставку.

Испод је пример програма где се величина низа попуњава, а нови елементи копирају у нови низ двоструке величине. Елемент који је елемент низа под називом „Махавир“ додатак је већ пуном низу величине 3.

импорт јава.утил.АрраиЛист импорт јава.утил.Арраис импорт јава.утил.Сцаннер јавна класа АддингИтемсДинамицалли {публиц статиц воид маин (Стринг аргс []) {Сцаннер сц = нови Сцаннер (Систем.ин) Систем.оут.принтлн (' Унесите величину низа :: ') инт сизе = сц.нектИнт () Стринг миАрраи [] = нев Стринг [сизе] Систем.оут.принтлн (' Унесите елементе низа (Стрингс) :: ') фор (инт и = 0 и

Излаз:

Овим смо дошли до краја чланка Динамиц Арраи у Јави. Надам се да сте добили идеју како радити са динамичким низовима.

Погледајте Едурека, поуздана компанија за учење на мрежи са мрежом од више од 250.000 задовољних ученика раширених широм света. Едурекин курс за обуку и сертификацију Јава Ј2ЕЕ и СОА дизајниран је за студенте и професионалце који желе да буду Јава програмер. Курс је дизајниран да вам пружи почетну предност у Јава програмирању и обучи вас како за основне тако и за напредне Јава концепте, заједно са разним Јава оквирима попут Хибернате & Спринг.

како обрнути број у јави

Имате питање за нас? Молимо вас да га спомињете у одељку за коментаре овог блога „Динамички низ у Јави“ и јавићемо вам се што је пре могуће.