Visualizzazione dei risultati da 1 a 4 su 4

Discussione: [JAVA] Map e Iterator

  1. #1
    Utente di HTML.it
    Registrato dal
    Jul 2002
    Messaggi
    655

    [JAVA] Map e Iterator

    Perchè ad un contenitore di tipo Map non posso applicare un Iterator? E se lo volessi scandire come faccio?

  2. #2
    Utente di HTML.it L'avatar di Angelo1974
    Registrato dal
    Feb 2003
    Messaggi
    1,107
    Ciao; allora puoi recuperarti un Set di "keys" del Map e poi prendere l'iterator su di esso; ad esempio:

    codice:
    Map theMap = new HashMap();
    theMap.put( "uno","1" );
    theMap.put( "due","2" );
    theMap.put( "tre","3" );
    theMap.put( "quattro","4" );
    String key = null;
    String obj = null;
    for( Iterator i = theMap.keySet().iterator(); i.hasNaext(); ){
      
       key = (String)(i.next());
       System.out.println( "Chiave: "+ key );
       obj = (String)theMap.get( key );
       System.out.println( "Elemento: "+ obj );
    }
    Non l'ho provato ma ad occhio dovrebbe andare.
    Ciao
    Se vuoi trovare l'arcobaleno, devi sopportare la pioggia

  3. #3
    Utente di HTML.it
    Registrato dal
    Jul 2002
    Messaggi
    655
    La soluzione è correta e ti ringrazio, ma volevo capire una cosa: Iterator non è applicabile direttamente sulla HashMap? Devo sempre estrarmi un insieme per poter applicare Iterator?
    Grazie.


  4. #4
    Utente di HTML.it L'avatar di Angelo1974
    Registrato dal
    Feb 2003
    Messaggi
    1,107
    Ciao; sì è come dici; devi ricavarti un insieme per poter scorre il Map; penso che questo sia dovuto al fatto che se applicassi direttamente l'Iterator al Map... cosa dovrebbe tirarti fuori?
    Nel senso che l'Iterator dovrebbe contenere un insieme delle chiavi del Map o un insieme degli oggetti contenuti nel Map? Poi per il tuo caso potrebbe andare bene, ad esempio, un insieme di chiavi; per qualcun altro o anche per te, in una situazione futura, potrbbe non andar bene che ti cacci le chiavi ma vorresti un insieme dei valori... quindi penso che, alla Sun, abbiano lasciato stare questa soluzione.... almeno questa è la spiegazione che mi do
    Ciao
    Se vuoi trovare l'arcobaleno, devi sopportare la pioggia

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 © 2024 vBulletin Solutions, Inc. All rights reserved.