/ Forside / Teknologi / Udvikling / Java / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
Java
#NavnPoint
molokyle 3688
Klaudi 855
strarup 740
Forvirret 660
gøgeungen 500
Teil 373
Stouenberg 360
vnc 360
pmbruun 341
10  mccracken 320
arraylist vs. array
Fra : Jakob Nielsen


Dato : 17-04-04 12:24

Hvordan er en arraylist implementeret? Er det en simpel array, som on resize
opretter en helt ny array der er stor nok til at rumme alle data, eller er
den en fragmenteret liste af mindre arrays?

Hvis det er første udgave, så vil en stor liste kunne bruge en del tid på en
resize, når grænsen brydes, men er til gengæld hurtigere at anvende senere.
Ved nogen her hvordan den er opbygget? Jeg overvejer om opslag er
langsommere i en ArrayList end i en simpel array.



 
 
Lasse Reichstein Nie~ (17-04-2004)
Kommentar
Fra : Lasse Reichstein Nie~


Dato : 17-04-04 14:09

"Jakob Nielsen" <jni@no.mail> writes:

> Hvordan er en arraylist implementeret? Er det en simpel array, som on resize
> opretter en helt ny array der er stor nok til at rumme alle data, eller er
> den en fragmenteret liste af mindre arrays?

Det er et array. Det står alt sammen i API-dokumentationen:
<URL:http://java.sun.com/j2se/1.5.0/docs/api/java/util/ArrayList.html>
ArrayList er skrevet i Java, så du kan også selv tjekke koden.

/L
--
Lasse Reichstein Nielsen - lrn@hotpop.com
DHTML Death Colors: <URL:http://www.infimum.dk/HTML/rasterTriangleDOM.html>
'Faith without judgement merely degrades the spirit divine.'

Jakob Nielsen (17-04-2004)
Kommentar
Fra : Jakob Nielsen


Dato : 17-04-04 14:04

> Det er et array. Det står alt sammen i API-dokumentationen:
> <URL:http://java.sun.com/j2se/1.5.0/docs/api/java/util/ArrayList.html>

Ja, det må jeg jo indrømme. Det står endda indenfor de første 4 linier.
Havde ikke prøvet at kigge der, men bare ledt lidt løsligt, og enkelte
personer har faktisk påstået at den var implementeret som en hægtet liste.
Takker for dit hurtige svar.



Soren Kuula (17-04-2004)
Kommentar
Fra : Soren Kuula


Dato : 17-04-04 16:22

Jakob Nielsen wrote:

> Hvis det er første udgave, så vil en stor liste kunne bruge en del tid på en
> resize, når grænsen brydes, men er til gengæld hurtigere at anvende senere.
> Ved nogen her hvordan den er opbygget? Jeg overvejer om opslag er
> langsommere i en ArrayList end i en simpel array.
Hej,

Som nogen har sagt, er det et array ...

Men der er nu grænser for hvor meget til der går spildt til resize. Det
kan faktisk bevises at det blot er en konstant tid pr. element i arrayet
- også selvom du bliver ved at fylde flere og flere data på. Dog skal
den nye størrelse være en kostant * den gamle - ikke noget med at lægge
10 til eller sådan noget.

MVH
Søren

Søg
Reklame
Statistik
Spørgsmål : 177459
Tips : 31964
Nyheder : 719565
Indlæg : 6408177
Brugere : 218881

Månedens bedste
Årets bedste
Sidste års bedste