Esercizi e progetti di programmazione - Apogeo
Esercizi e progetti di programmazione - Apogeo
Esercizi e progetti di programmazione - Apogeo
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
E–70 ESERCIZI E PROGETTI DI PROGRAMMAZIONE<br />
** <strong>Esercizi</strong>o P16.11. Rendete generica la classe HashSet vista nel Capitolo 15. Per memorizzare i<br />
bucket, usate un vettore invece <strong>di</strong> un array.<br />
** <strong>Esercizi</strong>o P16.12. Dotate <strong>di</strong> un appropriato metodo hashCode la classe Pair vista nel Paragrafo<br />
16.2 e realizzate una classe HashMap che usi un esemplare <strong>di</strong> HashSet.<br />
*** <strong>Esercizi</strong>o P16.13. Realizzate una versione generica del generatore <strong>di</strong> permutazioni visto nel<br />
Paragrafo 12.2, in modo che generi tutte le permutazioni degli elementi presenti in un esemplare<br />
<strong>di</strong> List.<br />
** <strong>Esercizi</strong>o P16.14. Scrivete un metodo statico generico, print, che visualizzi l’elenco degli<br />
elementi presenti in qualsiasi esemplare <strong>di</strong> una classe che implementi l’interfaccia Iterable,<br />
inserendolo in un’appropriata classe <strong>di</strong> utilità. Gli elementi visualizzati devono essere separati da<br />
una virgola.<br />
Progetti <strong>di</strong> <strong>programmazione</strong><br />
Progetto 16.1. Progettate e realizzate una versione generica della classe DataSet vista nel Capitolo<br />
9, che possa essere utilizzata per analizzare dati <strong>di</strong> qualsiasi classe che realizzi l’interfaccia Measurable.<br />
Rendete generica anche la stessa interfaccia Measurable. Dotate la classe <strong>di</strong> un metodo<br />
addAll che consenta <strong>di</strong> aggiungere a un suo esemplare tutti i valori presenti in un altro esemplare<br />
<strong>di</strong> tipo compatibile. Defi nite anche l’interfaccia generica Measurer che consenta l’analisi <strong>di</strong><br />
dati che siano esemplari <strong>di</strong> classi che non realizzano l’interfaccia Measurable.<br />
Progetto 16.2. Rendete generica la classe MinHeap vista nel Capitolo 15. Come nella classe TreeSet<br />
della libreria standard, consentite l’utilizzo <strong>di</strong> un esemplare <strong>di</strong> Comparator per confrontare<br />
elementi. Se non viene fornito alcun comparatore, ipotizzate che gli elementi siano esemplari <strong>di</strong><br />
un tipo che realizza l’interfaccia Comparable.<br />
Cay Horstmann: Concetti <strong>di</strong> informatica e fondamenti <strong>di</strong> Java 5 a ed. - Copyright 2010 <strong>Apogeo</strong> srl