kapittel 7

13
Kapittel 7 Array (lister og tabellar)

Upload: cleo-french

Post on 01-Jan-2016

23 views

Category:

Documents


0 download

DESCRIPTION

Kapittel 7. Array (lister og tabellar). 7.1 Arrayelement. Array (lister, tabellar) er kjent frå VB Blir brukt til å organisere data når vi har mange dataelement av same sort I Java startar indekseringa alltid på 0 Indeks står i klammeparentes: [indeks] - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Kapittel 7

Kapittel 7

Array (lister og tabellar)

Page 2: Kapittel 7

7.1 Arrayelement Array (lister, tabellar) er kjent frå VB Blir brukt til å organisere data når vi har

mange dataelement av same sort I Java startar indekseringa alltid på 0 Indeks står i klammeparentes: [indeks] Indeksen er alltid eit ikkje-negativt

heiltal, vi kan bruke matematiske uttrykk som indeks så lenge resultatet blir eit heiltal

Page 3: Kapittel 7

7.2 Deklarering og bruk Array er objekt, blir laga med new() int[] height = new int[17];

Her får vi eit array med plass til 17 heiltal Indeksane vil vere frå 0 til 16 Alle verdiar er i utgangspunktet 0

Alle Java array er iteratorar, så vi kan bruke foreach – versjonen av for-loop

[] operatoren sjekkar indeksgrenser Vi bør likevel sjekke dette sjølve for å unngå

feil Størrelsen til eit array er konstant

Page 4: Kapittel 7

Deklarering og bruk Alternativ syntaks bør ikkje brukast

int[] grades viser tydeleg at vi skal ha eit array av integers

int grades[] viser mindre tydeleg kva vi skal ha Bruk av initialiseringsliste

Vi kan initialisere med {verdi1, verdi2, ..., verdiN} når arrayet blir deklarert, ikkje for å endre verdiar seinare

Array som parameter Merk at eit array er eit objekt, så ein kopi av

referansen (adressa) blir sendt som parameter Metoden som får ein slik parameter kan endre

element i arrayet

Page 5: Kapittel 7

7.3 Array av objekt Vi kan bruke array til å samle objekt på

same måte som primitive typer Vi får i så fall eit array av

objektreferanser Tunes-eksemplet

CDCollection som eigen klasse Inneheld eit array CD[] Har metoder for å administrere samlinga I Java har vi også “ferdigsydde” collection-klasser

CD-klassen representerer ein enkelt CD

Page 6: Kapittel 7

7.4 Kommandolinjeargument Vi kan no avsløre kva ‘String[] args’ betyr!

Array av String-referanser som er sendt til main() metoden ved oppstart

Blir vanlegvis kalla args, men namnet er valfritt Ved kjøring via kommandolinja vil dei to første

argumenta (java klassenamn) ikkje bli med I NetBeans må vi spesifisere eventuelle

kommandolinjeargument spesielt Ofte brukt når vi kjører eit program mange ganger

med ulike argument Bruk args.length for å sjekke talet på argument

Page 7: Kapittel 7

7.5 Parameterlister med variabel lengde Vi kan bruke ... mellom type og namn

for å tillate eit vilkårleg tal parameter til ein metode public double average(int ... list)

Desse parametra blir automatisk kopiert inn i eit array

Maks eit slikt sett av parameter pr metode

Alltid til slutt i parameterlista

Page 8: Kapittel 7

7.6 Todimensjonale array Eit todimensjonalt array tilsvarer rader

og kolonner i ein tabell To indeksar

int[][] tabell = new int[antRader][antKol];

tabell[rad][kolonne] = verdi; Kvar rad er å betrakte som eit separat

array Vi kan ha fleire dimensjonar etter behov

Page 9: Kapittel 7

7.7 ArrayList klassen Dette er eit eksempel på ein collection-klasse

Finst i java.util – pakken Fungerer som eit array med tilleggstenester

Størrelsen blir automatisk regulert Legge til eller fjerne element automatisk, sjå liste over

metoder i figur 7.6 Vi kan spesifisere elementtype

ArrayList<String> band; Typesjekking inkludert, vi kan ikkje legge til anna

enn String-objekt Vi treng ikkje caste objekt vi hentar ut

Effektivitet ved ulike operasjonar

Page 10: Kapittel 7

7.8 Mangekanter

Vi kan bruke array til å tegne komplekse former

Metoder i Graphics-klassen drawPolygon()

Array eller objekt av Polygon-klassen som parameter

drawPolyline()

Page 11: Kapittel 7

7.9 Mouse events Ulike events (hendingar) med mus

Vi deler opp i Mouse Events Pressed Released Clicked Entered Exited

og Mouse Motion Events Moved Dragged

Page 12: Kapittel 7

Mouse events To ulike interface vi kan implementere

for å reagere på bruk av mus MouseListener MouseMotionListener

Vi går gjennom Dots og RubberLines Dots – vi må tegne alt på nytt om vi vil ta

vare på “gammal” informasjon RubberLines – tegne som respons på at

musa flyttar seg

Page 13: Kapittel 7

7.10 Tastetrykk

Vi kan også reagere på tastetrykk Implementere KeyListener Felles for listener-interfaces er at

vi må implementere tomme metoder for det vi ikkje bryr oss om å reagere på