Video: PHP for Web Development 2025
Arrays i Java er fine, men de har nogle alvorlige begrænsninger. Forestil dig at du gemmer kundenavne i en forudbestemt rækkefølge. Din kode indeholder et array, og arrayet har plads til 100 navne.
Strenge navn [] = Ny String [100]; for (int i = 0; i <100; i ++) {navn [i] = ny String ();}
Alt er godt, indtil en dag vises kunde nummer 101. Når dit program kører, indtaster du data til kunde 101, og håber desperat, at arrayet med 100 komponenter kan udvides for at passe til dine voksende behov.
Intet sådant held. Arrays udvides ikke. Dit program styrter sammen med en ArrayIndexOutOfBoundsException.
"I mit næste liv vil jeg oprette arrays med længde 1, 000," siger du til dig selv. Og når dit næste liv ruller rundt, gør du bare det.
Strenge navn [] = Ny String [1000 ]; for (int i = 0; i << 1000 ; i ++) {name [i] = new String ();} Men i løbet af dit næste liv opstår der en økonomisk recession. I stedet for at have 101 kunder har du kun 3 kunder. Nu spilder du plads til 1, 000 navne, når plads til 3 navne ville gøre.
En dag vises en helt ny kunde op. Fordi dine kunder er gemt i rækkefølge (alfabetisk efter efternavn, numerisk med socialsikringsnummer, uanset), vil du presse denne kunde ind i den rigtige del af din matrix. Problemet er, at denne kunde tilhører meget tidligt i arrayet, på komponenten med indeks 7. Hvad sker der så?
Du fortsætter med at gøre dette, indtil du har flyttet navnet i komponent 7. Derefter sætter du den nye kundes navn i komponent 7. Hvad en smerte! Sikker på, at computeren ikke klager. Men når du bevæger dig rundt om alle disse navne, spilder du tid til behandling, spilder du strøm, og du spilder alle slags ressourcer.
"I mit næste liv forlader jeg tre tomme komponenter mellem hver to navne. "Og selvfølgelig udvider din virksomhed. Indtil i sidste ende finder du, at tre ikke er nok.