Visualizzazione dei risultati da 1 a 4 su 4

Discussione: [java] Map e foreach

  1. #1

    [java] Map e foreach

    Ciao ragazzi ho un problema

    ho una Map con due stringhe

    Map<String, String> elementMap = new HashMap<String, String>();

    dopo aver messo i valori voglio farla scorrere con il for each

    for (Map.Entry<String, String> entry : elementMap.entrySet())

    funziona ma me lo scorre al contrario ovvero dalla fine all'inizio

    dove sbaglio?

    codice:
    Map<String, String> elementMap = new HashMap<String, String>();
    
    // iterazione che inserisce più valori
    elementMap.put(chiave,valore);
    
    for (Map.Entry<String, String> entry : elementMap.entrySet()){
    
    system.out.println(" chiave " +entry.getKey() + " valore " +entry.getValue());
    }

  2. #2
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,315
    Cosa vuol dire che lo scorre dalla fine all'inizio? HashMap non mantiene alcun ordinamento sulle chiavi... esse sono memorizzate secondo un ordine dato dall'algoritmo di hashing interno. Se necessiti di scorrere una mappa ordinata secondo la chiave devi usare una TreeMap, non una HashMap.


    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

  3. #3
    La Map di Java non ha un ordinamento prefissato degli oggetti contenuti.
    Se non sbaglio, l'ordinamento degli oggetti è in funzione di un algoritmo di hashing.
    Penso che la LinkedHashMap faccia di più al caso tuo.
    "Na' sedia te vojo tirà!"

  4. #4

    Re: [java] Map e foreach

    Originariamente inviato da ubuntuunixc
    funziona ma me lo scorre al contrario ovvero dalla fine all'inizio
    La disposizione degli elementi dipende dal rispettivo hash.
    Se provi ad inserire più sequenze con istanze diverse non otterrai lo stesso ordine.

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.