Tipi generici. Definire e utilizzare una
classe generica. Specificare
più tipi generici.
Estendere le classi generiche. Esercizio: inverti lista generica.
Generici e collezioni: interfacce generiche prototipiche. Definire un
metodo generico. Calcolare il massimo di una collezione di elementi di tipo generico.
Esercizi di preparazione: rendere iterabile (con
Iterable) e confrontabile una pubblicazione per titolo (usando
Comparable) e per numero di citazioni (usando
Comparator). Comparator implementato come classe
esterna, come classe
annidata e come classe
anonima. Importanza della corretta implementazione di
Object.hashCode e
equals per i
Set, importanza del rendere comparabile una classe se si usano
TreeSet e
TreeMap.