Studiewijzer module 03
Generics and Collections
Generics
Simpel voorbeeldje voor de ? extends … en de ? super …:
List<? extends Number> foo3 = new ArrayList< Number >(); // Number "extends" Number (in this context)
List<? extends Number> foo3 = new ArrayList< Integer >(); // Integer extends Number
List<? extends Number> foo3 = new ArrayList< Double >(); // Double extends Number
List<? super Integer> foo3 = new ArrayList< Integer >(); // Integer is a "superclass" of Integer (in this context)
List<? super Integer> foo3 = new ArrayList< Number >(); // Number is a superclass of Integer
List<? super Integer> foo3 = new ArrayList< Object >(); // Object is a superclass of Integer
Collections
-
Een
peek()op een stream is niet terminating, dus zonder een terminating methode zoalscollect()doet depeek()niets. -
Classes als
IntStreamgeven bij methodes alsmin()ofmax()eenOptionalIntterug. Omdat deze bij een lege lijst geen waarde opleveren geven ze dus eenOptionalIntterug.
ArrayDeque
-
add(e)voegt toe aan het einde -
offer(e)voegt toe aan het einde -
push(e)voegt toe aan het begin -
remove()verwijdert en get aan het begin -
poll()verwijdert en get aan het begin -
pop()verwijdert en get aan het begin -
element()get aan het begin, laat element in collection -
peek()get aan het begin, laat element in collection
Map
De merge(key,value,BiFunction<V,V,V>) methode in een map werkt als
volgt:
-
Bestaat de key niet, dan wordt value gezet voor die key
-
Bestaat de key wel, dan gaat de oude value en de nieuwe value in de
BiFunctionen het resultaat wordt gezet voor de key
« Vorige module Volgende module »