31.05.2013 Views

Esercizi e progetti di programmazione - Apogeo

Esercizi e progetti di programmazione - Apogeo

Esercizi e progetti di programmazione - Apogeo

SHOW MORE
SHOW LESS

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

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!