Kaj je Dynamic Array v Javi?



Dinamično polje v Javi je vrsta matrike z velikim izboljšanjem za samodejno spreminjanje velikosti. Edina omejitev nizov je, da je fiksne velikosti.

Polja v so homogene podatkovne strukture, ki se v Javi izvajajo kot predmeti. Polja shranjujejo eno ali več vrednosti določenega podatkovnega tipa in omogočajo indeksiran dostop za njihovo shranjevanje. Do določenega elementa v matriki dostopa njen indeks. V tem članku bomo o dinamičnem nizu v Javi razpravljali v naslednjem zaporedju:

Uvod v Dynamic Array v Javi

Dinamično polje je takšna vrsta matrike z velikim izboljšanjem za samodejno spreminjanje velikosti. Edina omejitev nizov je, da je fiksne velikosti. To pomeni, da lahko pred časom določite le število elementov, ki jih lahko vsebuje vaša matrika. Po drugi strani pa se lahko dinamični nizi razširijo, ko v realnem času dodamo več elementov. Zato kodirniku ni treba pred časom določiti velikosti polja. Ima pa tudi nekaj več prednosti:





  • Hitro iskanje . Tako kot tako kot nizi, pri pridobivanju elementa pri določenem indeksu traja čas O (1).



  • Spremenljiva velikost . Vstavimo lahko poljubno število elementov in dinamično polje se bo ustrezno razširilo, da jih zadrži.

  • Predpomnilnik . Podobno kot nizi lahko tudi dinamični nizi postavljajo elemente drug v drugega v pomnilnik in tako učinkovito izkoristijo predpomnilnike.



Uporaba dinamičnih nizov v naši kodi ima nekaj slabosti. Čeprav v večini aplikacij bolj kot kar koli drugega uporabljamo dinamične nize, v nekaterih primerih zaradi svojih omejitev ne postanejo najbolj zaželena izbira.

java skript pojavno sporočilo
  • Počasi se v najslabšem primeru doda . Med dodajanjem novega elementa na koncu dinamičnega polja običajno potrebuje O (1) naenkrat. Če pa dinamična matrica nima več indeksov za novo postavko, jo bo treba razširiti, kar hkrati zahteva O (n).

  • Drago vstavljanje in brisanje. Podobno kot nizi so tudi elementi shranjeni drug ob drugem. Torej med dodajanjem ali odstranjevanjem predmeta v središču polja zahteva potiskanje drugih elementov, kar zahteva O (n) naenkrat.

Spodnji diagrami prikazujejo, kako polja delujejo v realnem času, in prikazujejo, kako so elementi zloženi. Prav tako prikazuje, kako se navodila spreminjajo za povprečni in najslabši primer funkcij matrike.

vrste funkcij v sql

matrika - dinamično polje v javi - edureka

Velikost v primerjavi z zmogljivostjo

Ko inicializiramo dinamično polje, izvedba dinamičnega polja ustvari razumljivo polje s fiksno velikostjo. Začetna velikost ustreza izvedbi. Na primer, naredimo svojo izvedbeno matriko za uporabo 10 indeksov. Zdaj v dinamično matriko dodamo štiri elemente. Zdaj ima naše dinamično polje dolžino štiri. Vendar pa ima naše osnovno polje dolžino 10. Zato bi lahko rekli, da je velikost dinamičnega polja štiri in njegova zmogljivost 10. Dinamično polje shrani določen končni indeks, da sledi končni točki dinamičnega polja in začetni matriki točka, od koder se začne dodatna zmogljivost.

Podvojitev se doda

Obstajajo primeri, ko poskušamo element dodati matriki, kjer je zmogljivost že polna. Zato za ustvarjanje dinamičnih nizov prostora samodejno ustvarite novo, večje in osnovno polje. Običajno postane dvakrat večji za obdelavo kakršnih koli novih dodatkov, česar prej ni predvidel. Kopiranje vsakega predmeta torej ne porabi časa. Kadar dodajanje elementa v naše dinamično polje samodejno naredi novo osnovno matriko dvojne velikosti, ki za dodajanje ne potrebuje časa.

Brisanje elementa

Med brisanjem elementa iz polja privzeta metoda »remove ()« odstrani element s konca in samodejno shrani ničlo pri zadnjem indeksu. Prav tako bo elemente v določenem indeksu izbrisal s klicanjem metode removeAt (i), kjer je 'I' indeks. Metoda removeAt (i) premakne vse desne elemente na levi strani iz danega indeksa.

za kaj se uporablja vzmetni okvir

Spreminjanje velikosti polja

Kadar polja na desni strani polja nimajo podatkov, ki bi zavzeli nepotreben pomnilnik, metoda srinkSize () sprosti dodaten pomnilnik. Ko se porabijo vse reže in dodajo dodatni elementi, mora osnovna matrika s fiksno velikostjo povečati velikost. Dejansko spreminjanje velikosti je drago, saj moramo dodeliti večjo matriko in vse elemente iz matrike, ki ste jo prerasli, kopirati naprej, preden lahko končno doda nov element.

Spodaj je primer programa, kjer se velikost polja zapolni, novi elementi pa se kopirajo v novo matriko dvojne velikosti. Element, ki je nizni element, imenovan 'Mahavir', je dodatek k že polni matriki velikosti 3.

import java.util.ArrayList import java.util.Arrays import java.util.Scanner javni razred AddingItemsDynamically {public static void main (String args []) {Scanner sc = new Scanner (System.in) System.out.println (' Vnesite velikost polja :: ') int size = sc.nextInt () String myArray [] = nov niz [velikost] System.out.println (' Vnesite elemente polja (Strings) :: ') za (int i = 0 i

Izhod:

S tem smo prišli do konca članka Dynamic Array v Javi. Upam, da imate idejo, kako delati z dinamičnimi nizi.

Oglejte si Edureka, zaupanja vredno podjetje za spletno učenje z mrežo več kot 250.000 zadovoljnih učencev, razširjenih po vsem svetu. Edurekin tečaj za usposabljanje in certificiranje Java J2EE in SOA je namenjen študentom in strokovnjakom, ki želijo biti razvijalec Java. Tečaj je zasnovan tako, da vam omogoči uvod v programiranje Java in vas usposobi za osnovne in napredne koncepte Java, skupaj z različnimi Java okviri, kot so Hibernate & Spring

Imate vprašanje za nas? Prosimo, omenite ga v oddelku za komentarje tega spletnega dnevnika »Dinamično polje v Javi« in v najkrajšem možnem času vas bomo kontaktirali.