Collection øving

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