Lecture overview -- Keyboard shortcut: 'u'  Previous page: Interfacet Collection -- Keyboard shortcut: 'p'  Next page: Klassiske mængedeoperationer -- Keyboard shortcut: 'n'  Lecture notes - all slides and notes together  slide -- Keyboard shortcut: 't'  Help page about these notes  Alphabetic index  Course home  Play sound for this page -- Keyboard shortcut: 'y'  Page 5 : 35
Forelæsningsnoter i Objekt-orienteret Programmering
Collections og streams
Interfacet Set

Vi fortsætter med at studere interfacet Set, som repræsenterer mængder.

Set modsvarer det matematiske mængde begreb

Der kan højst være én forekomst af et element i et Set objekt

Interfacet Set arver fra Collection, og er faktisk identisk med Collection

  • Opstramninger af Set i forhold til Collection:

    • Enhver konstruktor skal konstruere en Collection uden duplikater

    • Operationen add kan ikke tilføje elementer, som allerede er i mængden

    • Operationskaldet set1.equal(set2) virker som:

      • set1 er delmængde af set2 og set2 er delmængde af set1

    • Der er et detailkrav til operationen hashCode operationen

Set interfacet er stort set indentisk med Collection interfacet. Der er dog nogle stærkere krav til nogle af operationerne, eksempelvis kravet om at et element højst kan være repræsenteret én gang i et Set objekt. Vi kan sige, at invarianten af en klasser, som implementerer Set interfacet, er strammet.

Bemærk, at interfaces ikke specificerer konstruktorer.

Angående equal i Set og Collection: I Collections kan equal implementeres som Object equal, altså som ==. I Set har equal en mere element-orienteret betydning. To ikke-identiske mængde objekter set1 og set2 kan altså godt foranledige set1.equal(set2)