Обобщения в реализации HashMap

В реализации Java я нашел

 transient Entry[] table; 
 which is initiated in constructor as
 table = new Entry[capacity];

Я знаю и понимаю, что создание универсального массива недопустимо, но тогда я не могу понять, как все это работает. Я имею в виду, когда мы делаем что-то вроде

HashMap<Integer, String> hMap = new HashMap<Integer, String>();

Как приведенные выше коды приводят к созданию массива Entry типа<Integer, String>

Ну, мало кто не может понять, о чем я спрашиваю. Перефразируя то, что я спрашиваю, это какой смысл делать что-то вроде

HashMap<Integer, String> hMap = new HashMap<Integer, String>();

Когда это не приводит к

Entry<Integer, String>

Ответы на вопрос(3)

Ваш ответ на вопрос