Why does HashMap returning values out of order?
public class Main {
    public static void main(String[] args) {
        Map<Integer, String> hashMap = new HashMap<>();
        hashMap.put(40, "40");
        hashMap.put(10, "10");
        hashMap.put(30, "30");
        hashMap.put(20, "20");
        System.out.println(hashMap);
    }
}
Output:
{20=20, 40=40, 10=10, 30=30}
I expected:
{40=40, 10=10, 30=30, 20=20}
 
     
     
    