Taulukot vs Taulukot
Matriisit ovat yleisimmin käytetty tietorakenne elementtikokoelman tallentamiseen. Useimmat ohjelmointikielet tarjoavat menetelmiä matriisien ja pääsyelementtien ilmoittamiseen matriiseissa. Taulukkoa voidaan nähdä dynaamisena taulukona, jonka koko voi kasvaa. Tästä syystä ohjelmoijan ei tarvitse tietää taulukon kokoa määritellessään sitä.
Mitä ovat matriisit?
Kuvassa 1 on koodikappale, jota käytetään tyypillisesti taulukon ilmoittamiseen ja määrittämiseen. Kuva 2 kuvaa, kuinka taulukko näyttäisi muistissa.
arvot [0] = 100; arvot [1] = 101; arvot [2] = 102; arvot [3] = 103; arvot [4] = 104; |
Kuva 1: Koodi arvojen ilmoittamiseen ja osoittamiseen taulukolle
100 | 101 | 102 | 103 | 104 |
Hakemisto: 0 | 1 | 2 | 3 | 4 |
Kuva 2: Muistiin tallennettu taulukko
Koodin yläpuolella määrittelee taulukon, johon voi tallentaa 5 kokonaislukua, ja niihin pääsee indekseillä 0–4. Taulukon yksi tärkeä ominaisuus on, että koko matriisi varataan yhtenä muistilohkona ja jokainen elementti saa oman tilansa ryhmässä. Kun matriisi on määritelty, sen koko on kiinteä. Joten jos et ole varma taulukon koosta kääntämisajankohtana, joudut määrittelemään tarpeeksi suuren taulukon ollaksesi turvallisella puolella. Mutta useimmiten aiomme käyttää vähemmän elementtejä kuin olemme jakaneet. Joten huomattava määrä muistia on todella hukkaan. Toisaalta, jos”riittävän suuri taulukko” ei ole oikeastaan tarpeeksi suuri, ohjelma kaatuu.
Mitä ovat taulukkoluettelot?
Taulukkoa voidaan nähdä dynaamisena taulukona, jonka koko voi kasvaa. Siksi taulukot ovat ihanteellisia käytettäväksi tilanteissa, joissa et tiedä vaadittavien elementtien kokoa ilmoituksen tekohetkellä. Java-sovelluksessa taulukkoluettelot voivat pitää sisällään vain objekteja, eivätkä ne voi pitää alkeistyyppejä suoraan (voit laittaa primitiiviset tyypit objektin sisälle tai käyttää primitiivisten tyyppien käärintäluokkia). Yleensä ryhmäluettelot toimitetaan menetelmillä lisäyksen, poistamisen ja haun suorittamiseksi. Elementin käytön aikakompleksi on o (1), kun taas lisäyksen ja poiston aikakompleksisuus on o (n). Java-ohjelmassa taulukkoluettelot voidaan kulkea käyttämällä foreach-silmukoita, iteraattoreita tai yksinkertaisesti käyttämällä hakemistoja.
Mitä eroa taulukot ja taulukot ovat
Vaikka matriisit ja taulukot ovat samanlaisia siinä mielessä, että molempia käytetään elementtikokoelmien tallentamiseen, ne eroavat toisistaan siinä, miten ne määritellään. Taulukon koko on annettava, kun taulukko on määritetty, mutta voit määrittää taulukon luettelon tietämättä todellista kokoa. Voit lisätä elementtejä taulukkoluetteloon, kun se on määritelty, eikä tämä ole mahdollista matriisien kanssa. Mutta Java-järjestelmässä matriisilistat eivät voi pitää primitiivisiä tyyppejä, mutta matriiseja voidaan käyttää primitiivisten tyyppien pitämiseen. Mutta jos tarvitset tietorakenteen, joka voi vaihdella sen kokoa, arraylist olisi paras valinta.