Collectionklasser Ekstra materiale
Collections Motivation – hvorfor bruge collections? Realisering af en-til-mange relationer – Importer, erklær, initialiser Den udvidede for-løkke Autoboxing og wrapperklasser Andre collections i Java dIntProg, E10Collectionklasser.2
Objektdiagram dIntProg, E10 :Track name time artist :ArrayList elements :ArrayList elements :PlayList name tracks :Player lists :Track name time artist :Track name time artist :Track name time artist :Track name time artist :PlayList name tracks :ArrayList elements Collectionklasser.3
Sekvensdiagram - find dIntProg, E10 :PlayList find(s) search(s) :Track getName() :Player getName() :PlayList getName() search(s) Collectionklasser.4
Wrapperklasser og autoboxing
List l= new ArrayList (); l.add(4); l.add(5); l.add(1); l.add(7); dIntProg, E10 List, et forkert eksempel l: size() = Collectionklasser.6
dIntProg, E10 Wrapperklasser og autoboxing Javas containerklasser kan kun indeholde objekter Hvad gør man hvis man har brug for en liste af værdier fra en primitiv type, f.eks. int? Wrapperklasser – int Integer – double Double – boolean Boolean –... ArrayList l; l= new ArrayList (); l.add(7); int x= l.get(0); Integerint autounboxing autoboxing l: 7 x: 7 intInteger ArrayList Collectionklasser.7
dIntProg, E10 List, det rigtige eksempel ArrayList l= new ArrayList (); l.add(4); l.add(5); l.add(1); l.add(7); l: size() = Collectionklasser.8
Andre collections i Java
dIntProg, E10 Containerklasser i Java Containerklasser – antag at man skal repræsen-tere et kartotek over studeren-de på dette kursus – der er behov for en klasse der kan modellere begrebet stu-dent – der er også behov for et sær-ligt objekt der kan opbevare student- objekterne – i Java findes en række forskel-lige collectionklasser – collectionklasserne er organi- seret i et klassifikationshierarki HashSet impl Set TreeSet impl SortedSet ArrayList impl List LinkedList impl List HashMap impl Map TreeMap impl SortedMap Interfaces (specifikation) Klasser (implementation) HVADHVORDANHVADHVORDAN Collectionklasser.10
dIntProg, E10 Forskellige containere List – ordnet samling objekter (rækkefølgen har betydning) – 0, 1,..., size()-1 Set – en samling objekter – uordnet eller ordnet (sorted) Collection – samlebegreb for List og Set Map – mængde af par – ordnet eller uordnet (sorted) [ 4, 5, 1, 7 ] [ 7, 5, 1, 4 ] { 4, 5, 1, 7 } { 7, 5, 1, 4 } { (”gigantisk”, ”gigantic”), (”abe”, ”monkey”) } Collectionklasser.11