I am trying figure out the order in which the values in a HashMap are/can be retrieved. Heres the code snippet for the same.
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);
       }
   }
}
output:
7
apple
lemon
orange
banana
litchi
mango
papaya
The values are printed in the order in which they have been inserted. Is this true in general? I was expecting the values to be printed in an arbitrary order. This is using Java 6.