Es un HashMap una estructura de datos adecuada

Almaceno en un HashMap 3 tipos de objeto.

HashMap<String, ArrayList<Car>>

['Lorry', [list of lorries]]
['Sport', [list of sport's cars]]

La clave de cadena HashMap mantiene el tipo de objeto (una subclase de Car), el segundo elemento almacena en la matriz los objetos que tienen, por ejemplo. atributos como: ID, fecha, etc.

Las cuatro cosas principales que tengo que hacer son:

Compruebe si existe cierta ID en HashMap cuando no se proporciona información sobre su tipoImprimir elementos de cierta ID dado el tipo.Imprimir todos los elementos de cierto tipoImprima todos los elementos de la colección (de diferentes tipos) si cierto atributo que cada objeto ha asignado tiene un valor booleano, por ejemplo. "cierto";

¿Es el HashMap la estructura adecuada? Me parece problemático si se trata del primer punto. Parece que tendré que atravesar toda la colección y, de ser así, ¿qué otra colección es mejor para esos requisitos?

Respuestas a la pregunta(2)

Su respuesta a la pregunta