Taulukot Jukka Juslin Jukka Juslin 2006 1 Taulukot

  • Slides: 48
Download presentation
Taulukot Jukka Juslin © Jukka Juslin 2006 1

Taulukot Jukka Juslin © Jukka Juslin 2006 1

Taulukot • Taulukot ovat olioita, jotka auttavat meitä organisoimaan suuria määriä tietoa • Seuraavassa

Taulukot • Taulukot ovat olioita, jotka auttavat meitä organisoimaan suuria määriä tietoa • Seuraavassa keskitymme näihin: § § § Taulukon tekeminen ja käyttö Rajojen tarkastus ja kapasiteetti Taulukot, jotka tallettavat olioviittauksia Vaihtuvanmittaiset parametrilistat Monidimensioiset taulukot Array. List luokka © Jukka Juslin 2006 2

Missä ollaan? Taulukoiden luonti ja käyttö Oliotaulukot Vaihtelevan pituiset parametrilistat Kaksiulotteiset taulukot Array. List

Missä ollaan? Taulukoiden luonti ja käyttö Oliotaulukot Vaihtelevan pituiset parametrilistat Kaksiulotteiset taulukot Array. List luokka © Jukka Juslin 2006 3

Taulukko • Taulukko on järjestetty lista arvoja Jokaisella arvolla on numeerinen indeksi Koko taulukolla

Taulukko • Taulukko on järjestetty lista arvoja Jokaisella arvolla on numeerinen indeksi Koko taulukolla on yksi nimi 0 pisteet 1 2 3 4 5 6 7 8 9 79 87 94 82 67 98 87 81 74 91 Taulukko, jonka koko on N indeksoidaan nollasta indeksiin N-1 asti Tämä taulukko säilyttää 10 arvoa, jotka on indeksoitu 0: sta 9: ään © Jukka Juslin 2006 4

Taulukot • Tiettyyn arvoon taulukossa viitataan käyttämällä taulukon nimeä, jota seuraa indeksin numero hakasulkeissa

Taulukot • Tiettyyn arvoon taulukossa viitataan käyttämällä taulukon nimeä, jota seuraa indeksin numero hakasulkeissa • Esimerkiksi tämä: pisteet[2]; viittaa arvoon 94 (kolmas arvo taulukossa) • Indeksi viittaa paikkaan, johon talletetaan tässä yksi int-tyyppinen arvo © Jukka Juslin 2006 5

Taulukot • Esimerkiksi, taulukon elementtiin voidaan tallettaa arvo, elementti voidaan tulostaa tai elementtiä voidaan

Taulukot • Esimerkiksi, taulukon elementtiin voidaan tallettaa arvo, elementti voidaan tulostaa tai elementtiä voidaan käyttää laskutoimituksessa: pisteet[2] = 89; pisteet[eka] = pisteet[eka] + 2; keskiarvo = (pisteet[0] + pisteet[1])/2; System. out. println (“Huippu = " + pisteet[5]); © Jukka Juslin 2006 6

Taulukot • Arvoja, joita pidetään taulukossa, kutsutaan taulukon elementeiksi tai alkioiksi • Taulukko tallettaa

Taulukot • Arvoja, joita pidetään taulukossa, kutsutaan taulukon elementeiksi tai alkioiksi • Taulukko tallettaa monta arvoa samaa tyyppiä olevia elementtejä – alkion tai elementin tyyppi • Elementin tyyppi voi olla primitiivityyppi tai olioviittaus • Siksi, me voimme luoda taulukon int-muuttujista, taulukon merkeistä, taulukon String luokan olioista, taulukon Kolikko olioista yms. • Javassa taulukko itse on olio, joka voidaan instantioida © Jukka Juslin 2006 7

Taulukot • Toinen tapa kuvata pisteet taulukkoa: pisteet 79 87 94 82 67 98

Taulukot • Toinen tapa kuvata pisteet taulukkoa: pisteet 79 87 94 82 67 98 87 81 74 91 © Jukka Juslin 2006 8

Taulukkojen luonti • pisteet taulukko voitaisin luoda kuten seuraavassa: int[] pisteet = new int[10];

Taulukkojen luonti • pisteet taulukko voitaisin luoda kuten seuraavassa: int[] pisteet = new int[10]; • Muuttujan pisteet tyyppi on int[] (taulukko int-arvoja) • Huomaa, että tauluko tyyppinä ei määrää taulukon kokoa, vaan jokaiselle taulukkoluokan oliolle annetaan oma koko • Viittausmuuttuja pisteet asetetaan osoittamaan uuteen taulukko-olioon, joka pystyy säilyttämään 10 int-tyyppistä muuttujaa © Jukka Juslin 2006 9

Taulukkojen luonti • Muutamia muita esimerkkejä taulukon luonnista: float[] hinnat = new float[500]; boolean[]

Taulukkojen luonti • Muutamia muita esimerkkejä taulukon luonnista: float[] hinnat = new float[500]; boolean[] vivut; vivut = new boolean[20]; char[] koodit = new char[1750]; © Jukka Juslin 2006 10

Taulukkojen käyttö • JDK 1. 5: sen uusi iterator luokka helpottaa taulukon elementtien läpikäyntiä

Taulukkojen käyttö • JDK 1. 5: sen uusi iterator luokka helpottaa taulukon elementtien läpikäyntiä for (int piste : pisteet) System. out. println (piste); • Me käytämme kuitenkin seuraavantyyppistä ratkaisua for (int i=0; i<pisteet. length; i++) System. out. println(pisteet[i]); © Jukka Juslin 2006 11

Taulukon rajojen tarkistaminen • Kun taulukko on luotu, sillä on kiinitetty koko (myöhemmin kuulette

Taulukon rajojen tarkistaminen • Kun taulukko on luotu, sillä on kiinitetty koko (myöhemmin kuulette kenties Vector-luokan olioista, jotka poistavat tämän rajoituksen) • Indeksi, jolla viitataan taulukon elementtiin pitää kuulua taulukon rajojen sisään • Siis, indeksin arvo pitää olla 0: sta N-1: seen • Java kääntäjä heittää Array. Index. Out. Of. Bounds. Exception jos taulukon indeksin on rajojen ulkopuolella • Tätä kutsutaan automaattiseksi rajojen tarkistamiseksi © Jukka Juslin 2006 12

Rajojen tarkistus • Esimerkiksi taulukko koodit voi pitää 100 arvoa, mutta se indeksoidaan vain

Rajojen tarkistus • Esimerkiksi taulukko koodit voi pitää 100 arvoa, mutta se indeksoidaan vain arvoista 0 arvoon 99 • Jos laskurin arvo on 100, silloin seuraava viittaus aiheuttaa poikkeuksen heittämisen: System. out. println (koodit[laskuri]); • On tyypillistä tehdä ns. off-by-one virheitä taulukkoja käytettäessä ongelma for (int index=0; index <= 100; index++) koodit[index] = index*50 + epsilon; © Jukka Juslin 2006 13

Rajojen tarkistus • Jokaisella taulukko-oliolla on julkinen vakio nimeltään length, joka tallettaa taulukon koon

Rajojen tarkistus • Jokaisella taulukko-oliolla on julkinen vakio nimeltään length, joka tallettaa taulukon koon • Siihen viitataan taulukon nimen kautta käyttäen length-attribuuttia, ei get. Length: int pituus = pisteet. length; • Huomaa, että length säilyttää elementtien lukumäärää ei suurinta indeksinumeroa © Jukka Juslin 2006 14

Toinen taulukon luontitapa • Hakasulkeet taulukon tyypissä voidaan laittaa taulukon nimen ennen tai jälkeen

Toinen taulukon luontitapa • Hakasulkeet taulukon tyypissä voidaan laittaa taulukon nimen ennen tai jälkeen • Siksi seuraavaksi kaksi lausetta ovat täysin samat merkitykseltään: float[] hinnat; float hinnat[]; • Ensimmäinen formaatti on yleisesti helpommin luettava ja sitä pitäisi käyttää (vertaa public static void main lauseen eroihin!) © Jukka Juslin 2006 15

Taulukkojen sijoittaminen • Taulukoita voidaan sijoittaa toiseen taulukkoon sijoitusoperaation avulla • Luonnollisesti vain siinä

Taulukkojen sijoittaminen • Taulukoita voidaan sijoittaa toiseen taulukkoon sijoitusoperaation avulla • Luonnollisesti vain siinä tapauksessa, että sijoitettava taulukko mahtuu sijoituksen kohteeseen asiassa on järkeä § Esim. pisteet = jukan. Pisteet; © Jukka Juslin 2006 16

Alustuslistat • Alustuslistaa voidaan käytää taulukon luomisessa ja arvojen sijoittamisessa taulukkoon samantien • Arvot

Alustuslistat • Alustuslistaa voidaan käytää taulukon luomisessa ja arvojen sijoittamisessa taulukkoon samantien • Arvot ovat aaltosulkeiden välissä ja toisistaan erotetut pilkkujen avulla • Esimerkkejä: int[] yksikot = {147, 323, 89, 933, 540, 269, 97, 114, 298, 476}; char[] arvosanat = {‘ 1', ‘ 2', ‘ 3', ‘ 4', ’ 5'}; © Jukka Juslin 2006 17

Alustuslistat • Huomaa, että kun alustuslistaa käytetään: § new operaattoria ei käytetä § Taulukon

Alustuslistat • Huomaa, että kun alustuslistaa käytetään: § new operaattoria ei käytetä § Taulukon kokoa ei määritellä ([5] yms) • Taulukon koko määrittyy automaattisesti sen mukaan kuinka monta arvoa alustuslistassa on • Alustuslistaa voidaan käyttää vain taulukon luonnin yhteydessä © Jukka Juslin 2006 18

Taulukot parametrinä • Koko taulukko voidaan välittää parametrina metodille • Kuten mikä tahansa muun

Taulukot parametrinä • Koko taulukko voidaan välittää parametrina metodille • Kuten mikä tahansa muun olion kanssa, osoitin taulukkoon (eli olioon) välitetään metodille • Kun taulukkoa muutetaan metodin sisällä myös alkuperäinen taulukko muuttuu (eli taulukko siellä mistä metodia on kutsuttu) tarpeen ei siis ole palauttaa taulukkoa metodista • Yksittäinen taulukon alkio voidaan välittää metodille myös, jossa tapauksessa alkion tyypin tulee vastata metodin vastaanottamaa tyyppiä (formal ja actual parameters) © Jukka Juslin 2006 19

Missä ollaan? Taulukoiden luonti ja käyttö Oliotaulukko Vaihtelevan mittaiset parametrilistat Kaksiulotteiset taulukot Array. List

Missä ollaan? Taulukoiden luonti ja käyttö Oliotaulukko Vaihtelevan mittaiset parametrilistat Kaksiulotteiset taulukot Array. List luokka © Jukka Juslin 2006 20

Oliotaulukot • Taulukon elementit voivat olla olioviitteitä • Seuraava lause varaa tilaa viidelle viittaukselle

Oliotaulukot • Taulukon elementit voivat olla olioviitteitä • Seuraava lause varaa tilaa viidelle viittaukselle String luokan olioihin String[] sanat = new String[5]; • Se ei luo String olioita itseään • Alkuarvona taulukkoa pitää null referenssejä (konstruktori) • Olio, joka on talletettu taulukkoon täytyy instantioida omassa paikassaan (new avainsana yms. ) © Jukka Juslin 2006 21

Oliotaulukko • sanat taulukko alkuarvoisessa tilanteessa: sanat - • Tässä kohdassa seuraava referenssi heittäisi

Oliotaulukko • sanat taulukko alkuarvoisessa tilanteessa: sanat - • Tässä kohdassa seuraava referenssi heittäisi Null. Pointer. Exception: in: System. out. println (sanat[0]); © Jukka Juslin 2006 22

Oliotaulukot • Sen jälkeen kun muutamia String olioita on luotu ja talletettu taulukkoon: “hauskuus”

Oliotaulukot • Sen jälkeen kun muutamia String olioita on luotu ja talletettu taulukkoon: “hauskuus” sanat “luonti” “nopeus” - © Jukka Juslin 2006 23

Oliotaulukot • Pidä mielessäsi, että String olioita voidaan luoda käyttäen literaaleja • Seuraava lause

Oliotaulukot • Pidä mielessäsi, että String olioita voidaan luoda käyttäen literaaleja • Seuraava lause luo taulukko-olion, jonka nimi on verbit ja täyttää sen neljällä String oliolla käyttäen merkkijonoliteraaleja String[] verbit = {“leiki", “työskentele", “syö", “nuku"}; © Jukka Juslin 2006 24

Oliotaulukot • Seuraavaksi katsomme esimerkkijä, joka ylläpitää joukkoa CD olioita © Jukka Juslin 2006

Oliotaulukot • Seuraavaksi katsomme esimerkkijä, joka ylläpitää joukkoa CD olioita © Jukka Juslin 2006 25

Luokkakaavio • UML luokkakaavio Kappaleet ohjelmalle: Kappaleet CDKokoelma - kokoelma : CD[] - lukumäärä

Luokkakaavio • UML luokkakaavio Kappaleet ohjelmalle: Kappaleet CDKokoelma - kokoelma : CD[] - lukumäärä : int - yhteis. Hinta : double + main (args : String[]) : void + lisaa. CD (nimi : String, artist : String, hinta : double, kappale. Määrä : int) : void + to. String() : String - kasvata. Kokoa() : void CD - nimi : String artisti : String hinta : double kappale. Määrä : int 1 * + to. String() : String © Jukka Juslin 2006 26

Komentorivi argumentit • main metodin formaali määritelmä vihjaa, että ko. Metodi ottaa String olioita

Komentorivi argumentit • main metodin formaali määritelmä vihjaa, että ko. Metodi ottaa String olioita parametrinä • Nämä arvot tulevat komentorivi argumenteista jotka annetaan ohjelmalle kun ohjelma ajetaan • Esimerkiksi seuraava kääntäjän kutsuminen välittää kaksi String oliota mainille: > java ese uskomaton kiva • Nämä stringit talletetaan indeksien 0 -1 paikalle main metodin Stringitaulukkoon © Jukka Juslin 2006 27

Missä ollaan? Taulukkojen luonti ja käyttö Oliotaulukot EXTRA: Vaihtelevanmittaiset parametrilistat Kaksiulotteiset taulukot Array. List

Missä ollaan? Taulukkojen luonti ja käyttö Oliotaulukot EXTRA: Vaihtelevanmittaiset parametrilistat Kaksiulotteiset taulukot Array. List luokka © Jukka Juslin 2006 28

Vaihtelevan mittaiset parametrilistat • Olettaen, että haluisimme tehdä metodin, joka käsittelee vaihtelevan mittaisen määrän

Vaihtelevan mittaiset parametrilistat • Olettaen, että haluisimme tehdä metodin, joka käsittelee vaihtelevan mittaisen määrän parametrejä kutsun mukaan • Esimerkiksi, jos luomme metodin, jonka nimi on keskiarvo, joka palauttaa tietyn integer parametrien keskiarvon // yksi kutsu etsiä keskiarvo (neljä lukua) keskiarvo 1 = keskiarvo(3, 5, 1, 2); // toinen kutsu saada keskiarvo kolmesta keskiarvo 2 = keskiarvo(3, 5, 1); © Jukka Juslin 2006 29

Vaihtelevan mittaiset parametrilistat • Voisimme ns. ylikuormittaa keskiarvo metodin § Huono puoli: tarvitsisimme erikseen

Vaihtelevan mittaiset parametrilistat • Voisimme ns. ylikuormittaa keskiarvo metodin § Huono puoli: tarvitsisimme erikseen eri version metodista jokaiselle parametrilistalle • Voisimme määrittää metodin, joka ottaa vastaan integer taulukon § Huono puoli: meidän täytyisi luoda taulukko ja tallettaa muuttujat ennenkuin metodia kutsutaan kullakin kerralla • Tämä sijasta, Java JDK 1. 5: sta lähtien tarjoaa mukavan tavan luoda muuttuvan pituisia parametrilistoja © Jukka Juslin 2006 30

Vaihtelevan pituiset parametrilistat • Käyttäen tiettyä syntaksia formaalissaparametrilistassa, voimme määritellä metodin ottamaan vastaan minkä

Vaihtelevan pituiset parametrilistat • Käyttäen tiettyä syntaksia formaalissaparametrilistassa, voimme määritellä metodin ottamaan vastaan minkä tahansa määrän parametrejä jotka ovat samantyyppisiä • Jokaisella kutsulla, parametrit automaattisesti laitetaan taulukkoon, jotta pystytään helposti prosessoimaan parametrit metodissa Ilmoittaa että vaiht. pit. lista kyseessä public double keskiarvo(int. . . lista) { // toiminnot elementin taulukon } tyyppi nimi © Jukka Juslin 2006 31

Vaihtelevan mittaiset parametrilistat • • • Miksi esiteltiin edes koko asia? Opimme mikä on

Vaihtelevan mittaiset parametrilistat • • • Miksi esiteltiin edes koko asia? Opimme mikä on formaali parametri Tästä opimme, että public static void main määre ei ole mikään kiveen hakattu asia. Esimerkiksi seuraava toimii hyvin! public class Häkki { public static void main(String. . . argsi) { System. out. println(argsi[0]); System. out. println("ict 02 d ok"); } } © Jukka Juslin 2006 32

Vaihtelevan mittaiset parametrilistat public double keskiarvo (int. . . lista) { double tulos =

Vaihtelevan mittaiset parametrilistat public double keskiarvo (int. . . lista) { double tulos = 0. 0; if (lista. length != 0) { int summa = 0; for (int numero : lista) summa += numero; tulos = (double)numero / lista. length; } return(tulos); // muista sulkeet tähän! } © Jukka Juslin 2006 33

Vaihtelevan mittaiset parametrilistat • Parametrin tyyppi voi olla mikä tahansa primitiivinen tai oma oliotyyppi

Vaihtelevan mittaiset parametrilistat • Parametrin tyyppi voi olla mikä tahansa primitiivinen tai oma oliotyyppi public void tulosta arvosanat (Arvosana. . . arvosanat) { for (Arvosana numero : arvosanat) System. out. println(numero); } © Jukka Juslin 2006 34

Vaihtelevan pituiset parametrilistat • Metodi, joka ottaa vastaan vaihtelevan määrän parametrejä voi myös ottaa

Vaihtelevan pituiset parametrilistat • Metodi, joka ottaa vastaan vaihtelevan määrän parametrejä voi myös ottaa vastaan muita parametrejä • Seuraava metodi ottaa vastaan yhden int arvon, yhden String olion, ja vaihtelevan mittaisen määrän double tyypisiä arvoja numerot nimiseen taulukkoon public void testi (int laskuri, String nimi, double. . . numerot) { // toiminnot } © Jukka Juslin 2006 35

Muuttuvan pituiset parametrilistat • Muuttuvanpituinen parametrilista pitää olla esim. Metodin määrittelyssä viimeisenä (formaalissa määrittelyssä)

Muuttuvan pituiset parametrilistat • Muuttuvanpituinen parametrilista pitää olla esim. Metodin määrittelyssä viimeisenä (formaalissa määrittelyssä) • Yksi metodi ei voi ottaa vastaan kahta muuttuvan pituista parametrilistaa • Konstruktorit voidaan myös asettaa niin, että ne ottavat parametrinä vaihtelevan pituisia parametrilistoja © Jukka Juslin 2006 36

Missä ollaan? Taulukkojen luonti ja käyttö Oliotaulukot Vaihtelevan mittaiset parametrilistat Kaksiulotteiset taulukot Array. List

Missä ollaan? Taulukkojen luonti ja käyttö Oliotaulukot Vaihtelevan mittaiset parametrilistat Kaksiulotteiset taulukot Array. List luokka © Jukka Juslin 2006 37

Kaksiulotteiset taulukot • yksiulotteinen taulukko tallettaa listan elementtejä • kaksiulotteinen taulukko voidaan ajatella taulukkona

Kaksiulotteiset taulukot • yksiulotteinen taulukko tallettaa listan elementtejä • kaksiulotteinen taulukko voidaan ajatella taulukkona elementtejä, niin kuin Excel ohjelmassa: taulukolla on rivit ja sarakkeet (rivit ja kolumnit) yksi ulottuvuus kaksi ulottuvuutta © Jukka Juslin 2006 38

Kaksiulotteiset taulukot • Tarkastiottaen kaksiulotteinen taulukko on taulukko, joka sisältää taulukkoja • Kaksiulotteinen taulukko

Kaksiulotteiset taulukot • Tarkastiottaen kaksiulotteinen taulukko on taulukko, joka sisältää taulukkoja • Kaksiulotteinen taulukko luodaan määrittelemällä kunkin ulottuvuuden koko erikseen: int[][] pisteet = new int[22][3]; • Taulukkoelementtiin viitataan käyttämällä kahta indeksiarvoa: arvosana = pisteet[3][2]; • Taulukkoon, joka määritellään yhdellä rivillä voidaan viitata yhdellä indeksinumerolla © Jukka Juslin 2006 39

Kaksiulotteinen taulukko Lause taulukko Tyyppi int[][] 2 D taulukko integereitä taulukko[5] int[] Integer taulukko[5][12]

Kaksiulotteinen taulukko Lause taulukko Tyyppi int[][] 2 D taulukko integereitä taulukko[5] int[] Integer taulukko[5][12] int Kuvaus integer © Jukka Juslin 2006 40

Moniulotteiset taulukot • Taulukolla voi olla monta ulotteisuutta – jos sillä on enemmän kuin

Moniulotteiset taulukot • Taulukolla voi olla monta ulotteisuutta – jos sillä on enemmän kuin yksi ulottuvuus, sitä kutsutaan moniulotteiseksi taulukoksi • Jokainen uluttuvuus muodostaa jokaisen arvon alle halutun kokoisen määrän arvoja. Esim. arvosanat[3][2] jossa indeksi kolmonen viittaisi opiskelijaan Matti ja numero kaksi siihen että poimitaan osion kolme arvosana • Jokaisella ulottuvuudella on oma julkinen length vakionsa • Koska jokainen ulottuvuus on taulukkoviittauksista, taulukot yhden ulottuvuuden sisällä voivat olla erimittaisia § Näitä kutsutaan sillointällöin rosoisiksi taulukoiksi © Jukka Juslin 2006 41

Moniulotteiset taulukot • Seuraavassa kolmiulotteinen (vrt. rahan laskeminen taulukoissa, taloushallinto) osastot lähiesimiehet budjetit ©

Moniulotteiset taulukot • Seuraavassa kolmiulotteinen (vrt. rahan laskeminen taulukoissa, taloushallinto) osastot lähiesimiehet budjetit © Jukka Juslin 2006 42

Missä ollaan? Taulukkojen luonti ja käyttö Oliotaulukot Vaihtelevan pituiset parametrilistat Kaksiulotteiset taulukot Array. List

Missä ollaan? Taulukkojen luonti ja käyttö Oliotaulukot Vaihtelevan pituiset parametrilistat Kaksiulotteiset taulukot Array. List luokka © Jukka Juslin 2006 43

Array. List luokka • Array. List luokka on osa java. util pakettia • Kuten

Array. List luokka • Array. List luokka on osa java. util pakettia • Kuten taulukko, se voi tallettaa listan arvoja ja viitata kuhunkin käyttäen numeerista indeksiä • Kuitenkin, et voi käyttää hakasulje merkintää Array. List olion kanssa • Lisäksi, Array. List olio kasvaa ja kutistuu tarpeiden mukaan, säätäen kokoaan tilanteen vaatimuksia vastaavaksi © Jukka Juslin 2006 44

Array. List luokka • Elementtejä voidaan lisätä tai poistaa yhden metodin kutsulla • Kun

Array. List luokka • Elementtejä voidaan lisätä tai poistaa yhden metodin kutsulla • Kun elementti lisätään, muut elementit “liikkuvat syrjään” tehdäkseen tilaa • Yhtälailla, kun elementti poistetaan, lista “supistuu kasaan” sulkeakseen tyhjän kohdan • Elementtien indeksit muuttuvat vastaavasti niin että esim. tyhjä kohta häviää © Jukka Juslin 2006 45

Array. List luokka • Array. List tallettaa viittauksia Object luokkaan, jolloin mahdollista on tallettaa

Array. List luokka • Array. List tallettaa viittauksia Object luokkaan, jolloin mahdollista on tallettaa minkä tahansalaisia olioita • Voimme myös määritellä Array. List olion hyväksymään vain tietyn tyyppisiä olioita • Seuraava rivi luo Array. List olion, joka tallettaa vain Suku tyyppisiä olioita Array. List<Suku> tapaaminen = new Array. List<Suku>; © Jukka Juslin 2006 46

Array. Listin tehokkuus • Array. List luokka on toteutettu käyttäen allaolevaa taulukkoa • Taulukkoa

Array. Listin tehokkuus • Array. List luokka on toteutettu käyttäen allaolevaa taulukkoa • Taulukkoa manipuloidaan niin, että indeksit säilyvät jatkuvina kun elementtejä lisätään tai poistetaan • Jos elementtejä lisätään ja poistetaan listan lopusta, prosessointi on suhteellisen tehokasta • Kun elementtejä lisätään listan alkuun tai keskelle listaa jäljelläolevia elementtejä on siirrettävä © Jukka Juslin 2006 47

Yhteenveto • Olemme käyneet läpi: § § § Taulukon luonti ja käyttö Rajojen tarkistus

Yhteenveto • Olemme käyneet läpi: § § § Taulukon luonti ja käyttö Rajojen tarkistus ja tilavuus Taulukot olioreferenssien tallentajina (OID) Vaihtelevan pituiset parametrilistat Moniulotteiset taulukot Array. List luokka © Jukka Juslin 2006 48