Upload
hallvard
View
218
Download
0
Embed Size (px)
Citation preview
8/14/2019 Collection ving
1/7
1
Collection-ving
Comparator for sammenligning
Iterator-aktig grensesnitt ogimplementasjoner
8/14/2019 Collection ving
2/7
2
Comparator-grensesnittet
Brukes av Java sine innebygde sorteringsmetoder
Definerer n metode, compare, som brukes for sammenligne to objekt (typisk av samme klasse)
med hverandre, og bestemme deres innbyrdesrekkeflge
Merk at objektet som implementerer Comparatorikke er ett av objektene som skal sammenligne,
slik tilfellet var med Comparable. compare-metoden skal returnere
et tall mindre enn 0, hvis det frste objektet er mindre enn det andre
0, hvis de to objektene betraktes som like
et tall strre enn 0, hvis det frste objektet er strre enn det andre
8/14/2019 Collection ving
3/7
3
CardComparator
Et Card-objektet er mindre/strre enn
et annet dersom
face er mindre/strre, med ess som laveste kort eller ved face-likhet, dersom suit rangeres som lavere,
hvor S > H > D > C
8/14/2019 Collection ving
4/7
4
Hand
Inneholder et sett kort
Innkapslingsmetoder for kort konstruktren tar inn kortene
settet med kort skal ikke kunne endres
en skal kunne lese antall kort og et bestemt kort
Ekstra metoder f ut en kopi av settet med kort (som tabell)
lese hyeste kort iht. samme ordning til CardComparator
Hand implementerer Comparable hnda med hyeste kort er hyest, ved likhet nest-hyeste osv.
8/14/2019 Collection ving
5/7
5
NumberGenerator
Grensesnitt som tilsvarer
Iterator
boolean hasMoreNumbers() tilsvarer hasNext() int nextNumber() tilsvarer next()
I vingen skal du skrive en rekke
NumberGenerator-implementasjoner...
8/14/2019 Collection ving
6/7
6
NumberGenerator-
implementasjoner
OneTwoThree genererer (kun) tallene 1, 2 og 3 i sekvens
BoundedNumberSequence
tar inn start- og slutt-verdier i konstruktren og genererer start-verdien til og med slutt-verdien i sekvens, med trinn p 1
RandomSequence konstruktren tar inn min- og maksverdier og en N
generererer N tilfeldige tall mellom (og inkludert) min og maks
AddingGenerator konstruktr tar inn to andre NumberGenerator-objekter
returnerer summen av parvise tall fra de to NumberGeneratorene
8/14/2019 Collection ving
7/7
7
Ekstra NumberGenerator-
implementasjoner
BoundedNumberSequence lag en ekstra konstruktr som lar deg oppgi trinnet (i
tillegg til start- og slutt-verdiene)
MergingGenerator konstruktr tar inn to andre NumberGenerator-objekter
returnerer alternerende verdier fra de toNumberGeneratorene
EvenFilter konstruktren tar inn et annet NumberGenerator-objekt
generererer en sekvens av partallene fra den andreNumberGeneratoren