Como otros han mencionado antes,
no existe un mecanismo typedef en Java.
Tampoco apoyo "clases falsas" en general, pero no debería haber una regla general estricta aquí:
si su código, por ejemplo, usa una y otra vez un "tipo genérico", por ejemplo:
Map<String, List<Integer>>
Definitivamente deberías considerar tener una subclase para ese propósito.
Otro enfoque que uno puede considerar es, por ejemplo, tener en su código una desaceleración como:
//@Alias Map<String, List<Integer>> NameToNumbers;
Y luego use en su código NameToNumbers y tenga una tarea de precompilador (ANT / Gradle / Maven) para procesar y generar el código Java relevante.
Sé que para algunos de los lectores de esta respuesta esto puede sonar extraño, pero esta es la cantidad de marcos implementados "anotaciones" antes de JDK 5, esto es lo que está haciendo el proyecto lombok y otros marcos.