Skip to main content

Hva er en ArrayList?

En arraylist i dataprogrammering er en datastruktur som oppfører seg som en datamaskiner, men også implementerer muligheten til å dynamisk vokse størrelsen på matrisen etter behov.I motsetning til en iboende datatype, som ikke kan endres under utførelse av program, kan arrayliststrukturen vokse og krympe størrelsen på matrisen som svar på tillegg eller sletting av elementer.Den har en veldig gunstig ytelsesprofil, noe som gir rask tilfeldig tilgang til datainnsamlingen.Det er imidlertid to tilfeller der det er tregere enn noen andre datastrukturer, nemlig tillegg og fjerning av elementer fra midten av matrisen.De fleste objektorienterte programmeringsspråk har en slags implementering av en slik liste, selv om de noen ganger kalles dynamiske matriser.

Bruke en ArrayList gir et program med muligheten til å få tilgang til dataobjekter med et indeksnummer øyeblikkelig i stedet for å måtte gå gjennomEn hel sekvens av data for å finne en adresse, som kreves med koblede lister.Med muligheten til å øke størrelsen på matrisen etter behov, er det en veldig balansert tilnærming som vurderer både fleksibilitet og hastighet.I tillegg, når elementer fjernes fra en slik liste, reduseres størrelsen på matrisen, og frigjør minneområdet.

lagret.Når det gjelder en koblet liste eller en hasjtabell, er det vanligvis nødvendig med et eget objekt for å opprettholde teknikken som brukes til å holde og manipulere samlingen.Med en ArrayList er den eneste informasjonen som trengs om dataobjektene, adressen til objektet i minnet.Dette betyr at det vil være mindre overheadminnebruk når du jobber med denne typen liste. Et potensielt problem med å bruke en ArrayList kan komme fra implementerings- og minnestyringssystemet.De fleste matriser tildeles som påfølgende minneplasser.Så for å bruke en arraylist av en viss størrelse, må i det minste så mye minne være tilgjengelig i en uavbrutt sekvens av blokker.Den dynamiske matrisen kan endre størrelse på seg selv flere ganger, slik at minnefragmentering kan oppstå og føre til en minnetallokeringssvikt, stanse programutførelse. Ytelsen til en ArrayList er lik den å bruke en standard matrise, selv om tilgangstider er litt tregere fordiArrayen er innkapslet i et objekt.En forekomst der en dynamisk matrise kan bremse dramatisk, avhengig av implementering, er når størrelsen på matrisen må endres.Dette kan innebære å kopiere den nåværende matrisen til en ny matrise som ble tildelt den nye ønsket størrelse, noe som forårsaker en midlertidig nedbrytning i ytelsen.Det samme problemet kan oppleves når du legger til eller fjerner et element fra midten av listen, noe som får alle følgende elementer som må flyttes til et nytt sted.