Est de l'ordre des valeurs récupérées à partir d'une table de hachage de l'ordre d'insertion

Je suis en train déterminer l'ordre dans lequel les valeurs dans une table de hachage sont/peuvent être récupérées. Voici l'extrait de code pour la même chose.

import java.util.HashMap;

public class HashMapExample {

   public static void main(String[] args) {
       HashMap<Integer, String> hashmap = new HashMap<Integer, String>();
       hashmap.put(1, "apple" );
       hashmap.put(2, "lemon" );
       hashmap.put(3, "orange" );
       hashmap.put(4, "banana" );
       hashmap.put(5, "litchi" );
       hashmap.put(6, "mango" );
       hashmap.put(7, "papaya" );

       System.out.println(hashmap.size());

       for (String key : hashmap.values()) {
           System.out.println(key);
       }
   }
}

de sortie:

7
apple
lemon
orange
banana
litchi
mango
papaya

Les valeurs sont imprimées dans l'ordre dans lequel ils ont été insérés. Est-ce vrai en général? Je m'attendais à les valeurs à être imprimé dans un ordre arbitraire. C'est à l'aide de Java 6.

  • Il suffit d'utiliser un LinkedHashMap.
  • D'accord, mais elle a fait poser au sujet de l'insertion de l'ordre plusieurs fois, et il semble que LinkedHashMap vaut probablement la peine de regarder.
InformationsquelleAutor javagurl | 2010-01-27