Compatibilidad.
Antes de que los genéricos estuvieran disponibles, solo había get (Object o).
Si hubieran cambiado este método para obtener (<K> o), habría forzado potencialmente el mantenimiento masivo de código a los usuarios de Java solo para hacer que el código de trabajo vuelva a compilarse.
Ellos podrían haber introducido un adicional método, digamos get_checked (<K> O) y despreciar el viejo método get () así que había un camino de transición más suave. Pero por alguna razón, esto no se hizo. (La situación en la que nos encontramos ahora es que necesita instalar herramientas como findBugs para verificar la compatibilidad de tipos entre el argumento get () y el tipo de clave declarada <K> del mapa).
Los argumentos relacionados con la semántica de .equals () son falsos, creo. (Técnicamente son correctos, pero sigo pensando que son falsos. Ningún diseñador en su sano juicio hará que o1.equals (o2) sea verdadero si o1 y o2 no tienen ninguna superclase común).