Presentasjon lastes. Vennligst vent

Presentasjon lastes. Vennligst vent

Tabeller av objekter Klassen ArrayList LC191D Videregående programmering Semesterplan: Høgskolen i Sør-Trøndelag,

Liknende presentasjoner


Presentasjon om: "Tabeller av objekter Klassen ArrayList LC191D Videregående programmering Semesterplan: Høgskolen i Sør-Trøndelag,"— Utskrift av presentasjonen:

1 Tabeller av objekter Klassen ArrayList LC191D Videregående programmering Semesterplan: Høgskolen i Sør-Trøndelag, Avdeling for informatikk og e-læring Else Lervik, januar 2012

2 En oppgave om tabeller av objekter  Klassen Student (side 361)  Klassen Navn (side 359)  Oppgave  I hele oppgaven skal du vedlikeholde en figur som viser objektene som blir laget og sammenhengen mellom dem  Lag en tabell, gruppe, med plass til tre studentobjekter: Kåre, Anders og Tove. Etternavn og fødselsdato bestemmer du selv.  Lag en tabell, kopier, med samme innhold som tabellen gruppe.  Følgende setninger skal utføres gruppe[1] = new Student("Eva", "Ås", ); gruppe[2].setEtternavn("Bjørndal");  Hva blir skrevet ut hvis følgende kode kjøres? (Forsøk å finne svaret uten å kjøre koden) for (int i = 0; i < gruppe.length; i++) { System.out.println(gruppe[i].getFornavn() + " " + gruppe[i].getEtternavn()); } System.out.println("Kopier: "); for (int i = 0; i < kopier.length; i++) { System.out.println(kopier[i].getFornavn() + " " + kopier[i].getEtternavn()); } Forelesning 2, side 2

3 Om tabeller – og om klassen ArrayList  Problemer som vi forholdt oss til i karaktereksemplet fra leksjon 1  Tabellen har ikke riktig lengde i forhold til behovet  Ofte må en holde orden på hvor stor del av tabellen som er fylt opp  Tabeller er velegnet dersom de har fast størrelse, f.eks. diett-tabellen fra leksjon 1 og bord-tabellen i øving 1  Klassen java.util.ArrayList hjelper oss når vi trenger tabeller med variabel lengde  Løsningen på problemene foran er gjemt inne i klassen  ArrayListens kapasitet er lik den egentlig tabell-størrelsen, den trenger vi sjelden å tenke på  ArrayListens størrelse er lik antall elementer til enhver tid – den trenger vi ofte!  Også med ArrayLister må vi sjekke at indeksene vi bruker er gyldige  Gjennomgå eksemplet i boka side 420 – tegn figur  Gjenta oppgaven på forrige side, men bruk ArrayList Forelesning 2, side 3

4 ArrayList - oppgaver Bruk klassen Vare (http://javabok.no/EksFraBoka/EksKap13/Vare.java) 1. Opprett et ArrayList-objekt med navn varer. Lag programkode som legger objekter av klassen Vare inn i ArrayListen. Varenummeret skal være lik indeksen+ 100, det vil si 100, 101, 102, 103 osv. Objektene skal lages ved at programmet går i løkke og for hver vare leser inn varenavn og pris. 2. Lag programkode som løper gjennom varer og skriver ut de innleste opplysningene. 3. Lag programkode som leter opp en vare med et bestemt navn. Vi antar at varenavnet er entydig. 4. Lag programkode som fjerner varen funnet i oppgave 3. Forelesning 2, side 4

5 Utvidet for (”enhanced for”)  Kortform av for-løkken for gjennomløp av alle elementene i en ArrayList  I stedet for for (int i = 0; i < navnene.size(); i++) { String detteNavnet = navnene.get(i); System.out.println(detteNavnet); }  kan vi skrive for (String detteNavnet : navnene) { System.out.println(detteNavnet); }  Prøv ut på et av eksemplene foran Forelesning 2, side 5

6 ArrayLister og data av primitive datatyper  Vi kan kun legge inn referanser i en ArrayList  For å kunne legge inn f.eks. tall i listen, må de pakkes inn i objekter  Vi bruker de såkalte wrapperklassene for primitive datatyper (side )  Primitive datatyper: boolean, byte, char, short, int, long, float og double  Tilhørende klasser – subklasser til klassen Number: Boolean, Byte, Character, Short, Integer, Long, Float og Double  Eksempel: Integer heltallsobjekt = new Integer(50); int etTall = heltallsobjekt.intValue();  Kortform (automatisk omforming): Integer heltallsobjekt = 50; int etTall = heltallsobjekt;  Vis eksempel i boka, side 425 Forelesning 2, side 6


Laste ned ppt "Tabeller av objekter Klassen ArrayList LC191D Videregående programmering Semesterplan: Høgskolen i Sør-Trøndelag,"

Liknende presentasjoner


Annonser fra Google