List-luokan soveltamista. Listaan lisääminen Listan läpikäynti Listasta etsiminen Listan sisällön muuttaminen Listasta poistaminen Listan kopioiminen

Samankaltaiset tiedostot
Olio-ohjelmointi Javalla

Luokan sisällä on lista

Listarakenne (ArrayList-luokka)

Kompositio. Mikä komposition on? Kompositio vs. yhteyssuhde Kompositio Javalla Konstruktorit set-ja get-metodit tostring-metodi Pääohjelma

Mikä yhteyssuhde on?

Java-kielen perusteet

public static void main (String [] args)

Periytyminen (inheritance)

Kääreluokat (oppikirjan luku 9.4) (Wrapper-classes)

on ohjelmoijan itse tekemä tietotyyppi, joka kuvaa käsitettä

Metodien tekeminen Javalla

Taulukoiden käsittely Javalla

Poikkeustenkäsittely

Yleistä. Nyt käsitellään vain taulukko (array), joka on saman tyyppisten muuttujien eli alkioiden (element) kokoelma.

Lista luokan sisällä

Informaatioteknologian laitos Olio-ohjelmoinnin perusteet / Salo

Sisältö. 22. Taulukot. Yleistä. Yleistä

Sisältö. 2. Taulukot. Yleistä. Yleistä

Tietorakenteet. JAVA-OHJELMOINTI Osa 5: Tietorakenteita. Sisällys. Merkkijonot (String) Luokka String. Metodeja (public)

Olion elinikä. Olion luominen. Olion tuhoutuminen. Olion tuhoutuminen. Kissa rontti = null; rontti = new Kissa();

Merkkijonon tutkiminen matches-metodilla

Opintojakso TT00AA11 Ohjelmoinnin jatko (Java): 3 op Taulukot & Periytyminen

Vahva koostumussuhde (Composition)

TyontekijaOhjelma. +main() (käyttää) + = public - = private

Ohjelmassa henkilön etunimi ja sukunimi luetaan kahteen muuttujaan seuraavasti:

Luokka Murtoluku uudelleen. Kirjoitetaan luokka Murtoluku uudelleen niin, että murtolukujen sieventäminen on mahdollista.

YHTEYSSUHDE (assosiation)

Harjoitus Olkoon olemassa luokat Lintu ja Pelikaani seuraavasti:

Java kahdessa tunnissa. Jyry Suvilehto

Rajapinta (interface)

Sisällys. 7. Oliot ja viitteet. Olion luominen. Olio Java-kielessä

18. Abstraktit tietotyypit 18.1

Taulukot. Jukka Harju, Jukka Juslin

Sisällys. 18. Abstraktit tietotyypit. Johdanto. Johdanto

Mitä poikkeuskäsittely tarkoittaa?

Ohjelmoinnin perusteet Y Python

20. Javan omat luokat 20.1

Sisällys. 20. Javan omat luokat. Java API. Pakkaukset. java\lang

Ohjelmoinnin perusteet Y Python

Taulukot. Taulukon määrittely ja käyttö. Taulukko metodin parametrina. Taulukon sisällön kopiointi toiseen taulukkoon. Taulukon lajittelu

Ohjelmoinnin jatkokurssi, kurssikoe

17. Javan omat luokat 17.1

Ohjelmoinnin peruskurssi Y1

7. Oliot ja viitteet 7.1

Ohjelmointitaito (ict1td002, 12 op) Kevät Java-ohjelmoinnin alkeita. Tietokoneohjelma. Raine Kauppinen

Muuttujat ja kontrolli. Ville Sundberg

Metodien tekeminen Javalla

Taulukot. Taulukon käsittely. Tämän osan sisältö. Esimerkki. Taulukon esittely ja luonti. Taulukon alustaminen. Taulukon koko

Alkuarvot ja tyyppimuunnokset (1/5) Alkuarvot ja tyyppimuunnokset (2/5) Alkuarvot ja tyyppimuunnokset (3/5)

Sisällys. 14. Poikkeukset. Johdanto. Johdanto

Ohjelmoinnin perusteet Y Python

Sisällys. 14. Poikkeukset. Johdanto. Johdanto

14. Poikkeukset 14.1

Algoritmit 1. Demot Timo Männikkö

Ohjelmoinnin perusteet, kurssikoe

16. Javan omat luokat 16.1

14. Poikkeukset 14.1

TIETORAKENTEET JA ALGORITMIT

Harjoitustyö: virtuaalikone

17. Javan omat luokat 17.1

Java ja tietokannan käsittely (JDBC)

ALGORITMIT 1 DEMOVASTAUKSET KEVÄT 2012

Java-kielen perusteita

Ohjelmointiharjoituksia Arduino-ympäristössä

7/20: Paketti kasassa ensimmäistä kertaa

ITKP102 Ohjelmointi 1 (6 op)

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python

Algoritmit 2. Demot Timo Männikkö

Olio-ohjelmointi Syntaksikokoelma

Opintojakso TT00AA11 Ohjelmoinnin jatko (Java): 3 op. Standardi- ja tietorakenneluokkia

Hakemistojen sisällöt säilötään linkitetyille listalle.

Ohjelmoinnin perusteet Y Python

Metodit. Metodien määrittely. Metodin parametrit ja paluuarvo. Metodien suorittaminen eli kutsuminen. Metodien kuormittaminen

Ohjelmointityö 3. Mikko Laamanen

Ohjelmoinnin perusteet Y Python

Algoritmit 1. Demot Timo Männikkö

Ohjelmointi 1 Taulukot ja merkkijonot

Ohjelmointi 2 / 2008 Välikoe / Pöytätestaa seuraava ohjelma.

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python

Algoritmit 1. Demot Timo Männikkö

Ehto- ja toistolauseet

Algoritmit 1. Demot Timo Männikkö

ITKP102 Ohjelmointi 1 (6 op), arvosteluraportti

812341A Olio-ohjelmointi Peruskäsitteet jatkoa

ITKP102 Ohjelmointi 1 (6 op), arvosteluraportti

Ohjelmointi 2 / 2010 Välikoe / 26.3

Merkkien ja merkkijonojen käsittelyä Javalla

Java-kielen perusteet

Linkitetystä listasta perittyä omaa listaa käytetään muun muassa viestiin liittyvien vastausten säilömiseen.

1. Kun käyttäjä antaa nollan, niin ei tulosteta enää tuloa 2. Hyväksy käyttäjältä luku vain joltain tietyltä väliltä (esim tai )

A) on käytännöllinen ohjelmointitekniikka. = laajennetaan aikaisemmin tehtyjä luokkia (uudelleenkäytettävyys)

Ohjelmointitaito (ict1td002, 12 op) Kevät Java-ohjelmoinnin alkeita. Tietokoneohjelma. Raine Kauppinen

Ohjelmoinnin perusteet Y Python

Sisällys. Yleistä attribuuteista. Näkyvyys luokan sisällä ja ulkopuolelta. Attribuuttien arvojen käsittely aksessoreilla. 4.2

Ohjelmointi 2 / 2011 Välikoe / 25.3

JAVA-PERUSTEET. JAVA-OHJELMOINTI 3op A JAVAN PERUSTEET LYHYT KERTAUS JAVAN OMINAISUUKSISTA JAVAN OMINAISUUKSIA. Java vs. C++?

KOHDELUOKAN MÄÄRITTELY

Ohjelmoinnin perusteet Y Python

Transkriptio:

1 List-luokan soveltamista List-luokan metodeja Listaan lisääminen Listan läpikäynti Listasta etsiminen Listan sisällön muuttaminen Listasta poistaminen Listan kopioiminen 1 List-luokan metodeja List-luokan metodi Luokka get(int index) boolean add(luokka olio) Luokka remove(int index) boolean remove(luokka olio) int size() Selitys Palautetaan viitteen listassa indexillä i olevan olioon. Indeksointi alkaa nollasta (0) Lisätään listan loppuun viite parametrina annettuun olioon. Palauttaa true, jos lisäys onnistui Poistetaan listasta viite indexillä i olevaan olioon. Palauttaa viitteen poistettuun olioon Poistetaan listasta viite parametrina olevaan olioon. Palauttaa true, jos viite olioon poistettiin Palautta listassa olevien viitteiden määrän Näiden metodien avulla voidaan käsitellä listassa olevia viitteitä olioihin siis hakea, lisätä ja poistaa. Olioiden muuttamiseen ja lisäämiseen käytetään sovellusluokan setmetodeja esim. setnumero(string value), koska käsitellään olioita eikä listaa. 2

2 esitellään ja alustetaan lista, listaan laitetaan viitteitä Tili-luokan olioihin List<Tili> = new ArrayList<Tili>(); Tili 1 Tili 2 3 1 =.get(0); palauttaa viitteen järjestysltaan annettuun (0) olioon.remove(0); poistaa listalta viitteen järjestysltaan annettuun (0) olioon.add(2); lisää listaan viitteen parametrina olevaan olioon.remove(2); poistaa listalta viitteen parametrina annettuun olioon Listaan lisääminen esitellään ja alustetaan lista, listaan laitetaan viitteitä Tili-luokan olioihin List<Tili> = new ArrayList<Tili>(); System.out.print("Anna n: "); String = input.nextline(); System.out.print("Anna alku: "); double = input.nextdouble(); Tili = new Tili(, ); luodaan olio annetuilla tiedoilla.add(); lisätään listaan viite olioon List-luokan add-metodilla 4

3 Listan läpikäynti List<Tili> = new ArrayList<Tili>(); // Tässä välissä lisätään listaan viitteitä olioihin List-luokan size-metodi palauttaa listan koon for (int i = 0; i <.size(); i++) { Tili =.get(i); pyydetään List-luokan get-metodilla viite listan i:nteen jäseneen, joka on Tili-luokan olio System.out.println(.toString()); tietojen näyttämiseen käytetään Tili-luokan metodia 5 Tili =.get(i); kun i=0, -olio viittaa listan ensimmäiseen olioon Listasta etsiminen int i = 0; Tili = null; boolean loytynyt = false; System.out.print("Annan : "); String = input.nextline(); while(! loytynyt && i <.size()) { =.get(i); String =.getnumero(); if (.equals()) { loytynyt = true; else { i++; if (loytynyt) { System.out.println(.toString(); else { System.out.println("Tiliä ei ole"); silmukkaa suoritetaan niin kauan kunnes etsitty löytyy tai lista päättyy merkkijonoja vertaillaan Stringluokan equals-metodilla List-luokan size-metodi kertoo, montako viitettä olioihin listassa on pyydetään List-luokan getmetodilla listalta viite i:nteen olioon (Tili-luokan olio) kysytään Tili-luokan getnumero-metodilla a (String) tietojen näyttämiseen käytetään Tili-luokan tostring-metodia 6

4 Listan sisällön muuttaminen // Tässä on etsitty listalta muutettava // alla -olio viittaa listalla muutettavaan olioon // =.get(i); System.out.print("Panon määrä: "); double maara = input.nextdouble(); -olio viittaa listalla muutettavaan olioon. Listan sisällön muuttamiseen käytetään Tili-luokan metodeja..pano(maara); System.out.println("Saldo panon jälkeen " +.getsaldo()); 1 7 Listasta poistaminen Ensimmäinen tapa // Tässä on etsitty listalta poistettava // alla -olio viittaa listalla poistettavaan olioon // =.get(i); listasta poistetaan viite olioon List-luokan remove-metodilla. Metodin parametrina on.remove(); viite olioon, joka poistetaan listalta 1 8 Toinen tapa // Tässä on etsitty listalta poistettava // alla i (kokonaisluku) kertoo poistettavan n paikan // listassa listasta poistetaan viite List-luokan removemetodilla. Metodin parametrina on indeksi, joka.remove(i); kertoo, monesko viite poistetaan listasta

5 lista sisältää viitteet olioihin Listan kopioiminen List<Tili> kopio = new ArrayList<Tili>(); for (int i = 0; i <.size(); i++) { Tili = new Tili(.get(i).getNumero(),.get(i).getSaldo()); kopio.add(); kopioon on tehtävä alkuperäisen listan olioista kopiot, jotta molemmat listat sisältävät omat olionsa kopio