Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 13
  1. #1
    Utente di HTML.it
    Registrato dal
    May 2010
    Messaggi
    457

    HashMap recuperare un solo valore

    SAlve ragazzi,

    ho praticamente una HashMap in cui memorizzo una sola ed unica coppia.
    Senza dover eseguire un ciclo for, c'e' un modo piu veloce ed efficiente... per recuperare key e value? Ecco il mio codice:

    codice:
    List<Beneficiario> lista=new ArrayList<Beneficiario>();
    		Beneficiario ben=new Beneficiario();
    		ben.setNome("PAUL");
    		ben.setCAP("80053");
    		lista.add(ben);
    		
    HashMap<Beneficiario,List<Beneficiario>> obMap = new HashMap<Beneficiario,List<Beneficiario>>();
    
            obMap.put(ben,lista);
           
         for( Beneficiario key: obMap.keySet() ){ 
             // key.toString() + ": " + obMap.get( key ); 
             System.out.println(((Beneficiario)key).getNome()); 
             System.out.println(obMap.get(key).get(0).getNome()); 
         }
    
    }

  2. #2
    Utente di HTML.it
    Registrato dal
    Dec 2009
    Messaggi
    1,123
    Recuperare key e value? Puoi utilizzare
    codice:
    boolean containsKey(Object key);
    boolean containsValue(Object value);
    restituiscono true se rispettivamente key, o value sono presenti nella mappa.

    Se conosci la chiave puoi ovviamente chiamare get()...altrimenti, se non vuoi un valore specifico a priori, devi scorrere la mappa.

  3. #3
    Utente di HTML.it
    Registrato dal
    Feb 2007
    Messaggi
    4,157

    Re: HashMap recuperare un solo valore

    codice:
    List<Beneficiario> listInt = obMap.values(); 
    
    Beneficiario ben = listInt.get(0);
    dovrebbe bastarti
    RTFM Read That F*** Manual!!!

  4. #4
    Utente di HTML.it
    Registrato dal
    May 2010
    Messaggi
    457
    OK perfetto

    codice:
    List<Beneficiario> listInt = obMap.values(); 
    
    Beneficiario ben = listInt.get(0);

    E la key come si recupera??

  5. #5
    Utente di HTML.it
    Registrato dal
    May 2010
    Messaggi
    457
    Per Patrick Jane
    io ho una mappa in ingresso ad una procedura che ha solo una coppia di cui non conosco a priori la chiave...

  6. #6
    Utente di HTML.it
    Registrato dal
    Feb 2007
    Messaggi
    4,157
    Originariamente inviato da Mitele


    E la key come si recupera??
    se devi recuperarli cmq tutti e due, come avevi fatto all'inizio è l'unica: dal set ti ritrovi tutte le key (una sola), prendi l'elemento 0 e quello lo usi come ti pare.
    RTFM Read That F*** Manual!!!

  7. #7
    Utente di HTML.it
    Registrato dal
    May 2010
    Messaggi
    457
    Praticamente

    lista<BeneficIARIO> lista=obMap.keySet()

    e poi lista.get(0).getNome() ... giusto? Senza dover scorrere il for each

  8. #8
    Utente di HTML.it
    Registrato dal
    Feb 2007
    Messaggi
    4,157
    Originariamente inviato da Mitele
    Praticamente

    lista<BeneficIARIO> lista=obMap.keySet()

    e poi lista.get(0).getNome() ... giusto? Senza dover scorrere il for each
    No

    codice:
    Beneficiario tempBen = obMap.keySet().get(0); 
    List<Beneficiario> temp = objMap.get(tempBen);
    RTFM Read That F*** Manual!!!

  9. #9
    Utente di HTML.it
    Registrato dal
    Sep 2012
    Messaggi
    707
    Solo una curiosità
    Perché nella hashtable metti la coppia chiave-valore:
    - nome-arraylist (dove arraylist contiene solo 1 Beneficiario)
    invece di mettere direttamente
    - nome-Beneficiario
    Ciao.

  10. #10
    Utente di HTML.it
    Registrato dal
    Feb 2007
    Messaggi
    4,157
    Originariamente inviato da c0der
    Solo una curiosità
    Perché nella hashtable metti la coppia chiave-valore:
    - nome-arraylist (dove arraylist contiene solo 1 Beneficiario)
    invece di mettere direttamente
    - nome-Beneficiario
    Ciao.
    penso sia una predisposizione a future espansioni: tengo il tipo logico che dovrei avere, in alcuni casi non importa che questo torni una struttura con un solo elemento.

    Penso anche che si voglia distinguere il beneficiario non solo per il nome...non so, forse era più diretto Map<String, List<Beneficiario> > .
    RTFM Read That F*** Manual!!!

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.