Visualizzazione dei risultati da 1 a 6 su 6
  1. #1

    problema con il metodo put di hashtable

    Ciao,

    io ho una tabella hash che ha come chiave un oggetto di tipo Member (ip, porta) e come valore un Long( un determinato tempo)

    il mio problema si presenta quando vado a fare la put sulla tabella hash praticamente mi aggiunge una nuova chiave ogni volta, anche se è lo stesso member.

    Se invece cambio il tutto, e member lo trasformo in una stringa, il metodo put funziona correttamente. il problema che lo devo lasciare ti tipo member altrimenti non posso fare altre cose.

  2. #2
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284

    Re: problema con il metodo put di hashtable

    Originariamente inviato da gnufy0505
    Ciao,

    io ho una tabella hash che ha come chiave un oggetto di tipo Member (ip, porta) e come valore un Long( un determinato tempo)

    il mio problema si presenta quando vado a fare la put sulla tabella hash praticamente mi aggiunge una nuova chiave ogni volta, anche se è lo stesso member.
    Nella tua classe Member hai implementato correttamente equals()/hashCode() affinché venga rispettato il "contratto" che deve esistere tra questi due metodi?? E' così che si fa se si vuole usare oggetti come "chiavi" di collezioni "map" basate su "hash-table"!
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  3. #3
    Utente di HTML.it L'avatar di bstefano79
    Registrato dal
    Feb 2004
    Messaggi
    2,520
    N.B.
    fra l'altro se usi eclipse puoi fare tasto destro source-->Generate hashCode() and equals()
    per altri non so

  4. #4

    Re: Re: problema con il metodo put di hashtable

    Originariamente inviato da andbin
    Nella tua classe Member hai implementato correttamente equals()/hashCode() affinché venga rispettato il "contratto" che deve esistere tra questi due metodi?? E' così che si fa se si vuole usare oggetti come "chiavi" di collezioni "map" basate su "hash-table"!

    grazie ragazzi erano 2 giorni che impazzivo su sta cosa.

    non che mi interessi particolarmente ma dove posso leggere a cosa serve questo "contratto"?

  5. #5
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284

    Re: Re: Re: problema con il metodo put di hashtable

    Originariamente inviato da gnufy0505
    non che mi interessi particolarmente
    Dovrebbe, se programmi in Java ....

    Originariamente inviato da gnufy0505
    ma dove posso leggere a cosa serve questo "contratto"?
    Documentazione javadoc di equals() e hashCode() in java.lang.Object.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  6. #6
    Utente di HTML.it L'avatar di bstefano79
    Registrato dal
    Feb 2004
    Messaggi
    2,520
    a fare funzionare il tutto

    non si possono implementare esplicitamente questi due metodi a priori per una classe che realizzi quindi ti viene lasciato il compito di scriverle

    per esempio con il metodo equals() te dici quando 2 oggetti della classe che hai realizzato sono uguali, ma questo spetta a te perchè la classe la sviluppi te

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.