Ylös Edellinen Seuraava Otsikkosivu Hakemisto Sisällys

12.2.1 Taulukko

Taulukko on kiinteä tietorakenne, jota luotaessa täytyy jo tietää monelleko ihmiselle varaamme tilaa. Tässä tulee äkkiä varattua tilaa joko liikaa, jolloin tila ei riitä muille toiminnoille, tai liian vähän, jolloin kaikki henkilöt eivät mahdu rekisteriin. Esimerkissämme olemme varanneet n. 300 tavua/henkilö. Tilan varaaminen sadalle henkilölle veisi jo 30000 tavua. Usein sata ei edes riitä!


Kuva 12.1 Taulukko

Javassa asia ei tietysti ole ihan näin suoraviivaista. Javassahan oliot ovat vaan viitteitä, jolloin oliotaulukko onkin vain taulukollinen viitteitä. Näin "liian tilan varaaminen" ei ole kovin kohtalokasta, jos jokainen viite vie esim. 4 tavua, niin 100 hengen viitteet vievät 400 tavua. Edes tuhannen hengen viitteet eivät vie mitenkään katastrofaalisesti tilaa:

Kuva 12.2 Javan taulukko

Kuitenkin ohjelmoijan omalle vastuulle jää taulukon maksimikoon ja taulukon "käytettyjen" alkioiden lukumäärän ylläpitäminen. Maksimikokohan saadaan aina taulukon koosta, joten tämä ei ole Javassa kovin suuri vaiva. Käytettyjen alkioiden määrän ylläpitoon täytyy kuitenkin rakentaa jokin mekanismi.

Javassa on tarjota valmiitakin tietorakenteita, mutta niiden pienenä puutteena on se, että ne tallentavat Object-tyyppisiä olioita. Tällöin aina kun alkio otetaan tietorakenteesta, pitää sen tyyppi muuttaa vastaamaan todellista tyyppiä. Taulukossa aliota taas voivat suoraan olla omaa tyyppiään (eli oman tyypin viitteitä).


Ylös Edellinen Seuraava Otsikkosivu Hakemisto Sisällys