Visualizzazione dei risultati da 1 a 3 su 3

Discussione: [java]HashMap

  1. #1

    [java]HashMap

    Ciao ho un problema con HashMap,

    devo riempirla con miei oggeti ad esempio Utenti

    ho dichiarato:

    HashMap<Integer,Utente> utenti;

    devo avere un metodo che mi aggiunge utenti.
    l`integer che è la chiave che è un intero univoco autoincrementato all'interno della classe utente.

    Il metodo ho pensato di farlo cosi:

    codice:
    public void aggiungiUtente(String cognome, String nome, String nTelefono, String codiceFiscale, String cartaIdentita, 
    			int giorno, int mese, int anno)throws MyException{
    		Utente utente = new Utente(cognome, nome, nTelefono, codiceFiscale, cartaIdentita, 
    				giorno, mese, anno);
    		Integer nTessera = utente.getNTessera();
    		utenti.put(nTessera,utente);
    		indiceUtenti++;
    	}
    in pratica instanzio un oggetto, prendo il numero di tessera, uso questo come chiave e assegno l`oggetto come valore.

    Non so se si possa fare perche tutti gli esempi che ho trovato usano solo valori sia come chiave che come valore e mai degli oggetti come valore.

    Io ho bisogno di accedere ai metodi del mio oggetto ma non ci riesco ad esempio vorrei fare una cosa del tipo :

    utenti(nTessera).metodo

    in pratica accedere all`elemento con chiave il mio nTessera e usare i metodi per prendere i suoi valori specifici.

    Probabilmente sto sbagliando il ragionamento e sto provando a fare cose non consentite ma non trovo una soluzione su come memorizzare oggetto in una HashTable con chiave il nUtente della classe e poter usare i metodi e campi che mi servono.

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

    Re: [java]HashMap

    Originariamente inviato da the magician
    codice:
    public void aggiungiUtente(String cognome, String nome, String nTelefono, String codiceFiscale, String cartaIdentita, 
    			int giorno, int mese, int anno)throws MyException{
    		Utente utente = new Utente(cognome, nome, nTelefono, codiceFiscale, cartaIdentita, 
    				giorno, mese, anno);
    		Integer nTessera = utente.getNTessera();
    		utenti.put(nTessera,utente);
    		indiceUtenti++;
    	}
    E indiceUtenti dove lo usi??? Vedo solo un incremento.

    Originariamente inviato da the magician
    Io ho bisogno di accedere ai metodi del mio oggetto ma non ci riesco ad esempio vorrei fare una cosa del tipo :

    utenti(nTessera).metodo
    Beh, no non è proprio così. 'utenti' è una HashMap, quindi devi prima usare il suo metodo get() per prendere l'oggetto Utente e poi su quello invochi quello che ti serve.

    Es.
    Utente u = utenti.get(nTessera);
    u.blabla ();

    o più semplicemente:
    utenti.get(nTessera).blabla();
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  3. #3

    Re: Re: [java]HashMap

    Originariamente inviato da andbin
    E indiceUtenti dove lo usi??? Vedo solo un incremento.
    no niente quella e` un altra variabile che uso in una altra parte del codice ma che non c`entra con questa cosa
    Beh, no non è proprio così. 'utenti' è una HashMap, quindi devi prima usare il suo metodo get() per prendere l'oggetto Utente e poi su quello invochi quello che ti serve.

    Originariamente inviato da andbin
    Es.
    Utente u = utenti.get(nTessera);
    u.blabla ();

    o più semplicemente:
    utenti.get(nTessera).blabla();
    Grazie

    Era proprio questo il mio problema!!! Mi stavo perdendo in un bicchiere d`acqua!
    Ho provato e infatti mi riconosce tutti i metodi della classe che ho implementato!

    Grazie ancora

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.