Prorad
22-03-2010, 16:13
Salve a tutti
poniamo che io abbia la classe Concetto, sulla quale ho ridefinito il metodo hashcode(). Purtroppo l'ho ridefinito male ed ho un sacco di collisioni, ma per adesso non posso farci nulla.
Poniamo anche che io abbia un metodo trovaVicini() che mi restituisce un HashSet<Concetto> e su tale set eseguo una iterazione (nota: l'ordine di visita è importante).
Poniamo anche che in tutto questo io stia utilizzando una libreria X.
Se lancio 10 volte il programma, ottengo 10 volte esattamente lo stesso risultato, quindi trovaVicini mi ha dato sempre lo stesso ordine.
Ad un certo punto cambio la libreria X per la libreria Y.
Nonostante ne X ne Y siano correlate ai Set o a Concetto, per qualche motivo che non mi spiego, noto che trovaVicini mi restituisce l'HashSet in ordine diverso rispetto al solito.
Infatti se lancio 10 volte il programma, ottengo 10 volte esattamente lo stesso risultato, quindi trovaVicini mi ha dato sempre lo stesso ordine, solo che non è più quello di prima.
Non riesco a capire se è normale e soprattutto perchè ha aspettato che cambiassi libreria per decidere di cambiare ordine.
Se qualcuno ha qualche suggerimento è ben accetto, mi rendo conto di non essere stato molto preciso ma non so neanche io come spiegarlo. Non posso postare il codice perchè richiederebbe di postare mezzo progetto o giù di li...
Thx in advance.
poniamo che io abbia la classe Concetto, sulla quale ho ridefinito il metodo hashcode(). Purtroppo l'ho ridefinito male ed ho un sacco di collisioni, ma per adesso non posso farci nulla.
Poniamo anche che io abbia un metodo trovaVicini() che mi restituisce un HashSet<Concetto> e su tale set eseguo una iterazione (nota: l'ordine di visita è importante).
Poniamo anche che in tutto questo io stia utilizzando una libreria X.
Se lancio 10 volte il programma, ottengo 10 volte esattamente lo stesso risultato, quindi trovaVicini mi ha dato sempre lo stesso ordine.
Ad un certo punto cambio la libreria X per la libreria Y.
Nonostante ne X ne Y siano correlate ai Set o a Concetto, per qualche motivo che non mi spiego, noto che trovaVicini mi restituisce l'HashSet in ordine diverso rispetto al solito.
Infatti se lancio 10 volte il programma, ottengo 10 volte esattamente lo stesso risultato, quindi trovaVicini mi ha dato sempre lo stesso ordine, solo che non è più quello di prima.
Non riesco a capire se è normale e soprattutto perchè ha aspettato che cambiassi libreria per decidere di cambiare ordine.
Se qualcuno ha qualche suggerimento è ben accetto, mi rendo conto di non essere stato molto preciso ma non so neanche io come spiegarlo. Non posso postare il codice perchè richiederebbe di postare mezzo progetto o giù di li...
Thx in advance.