Является ли HashMap правильной структурой данных

Я храню в HashMap 3 типа объектов.

HashMap<String, ArrayList<Car>>

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

Строковый ключ HashMap сохраняет тип объекта (подкласс Car), второй элемент хранит в массиве объекты, которые имеют, например, такие атрибуты, как: ID, дата и т. д.

Четыре главных вещи, которые я должен сделать:

Check if certain ID exist in HashMap when there is no information provided about its type Print elements of certain ID given the type. Print all elements of certain type Print all element from the collection (of different types) if certain attribute that each object has assigned has a Boolean value of e.g. "true";

Является ли HashMap правильной структурой? Я нахожу это проблематичным, если речь идет о первом пункте. Кажется, мне придется пройти через всю коллекцию, и если да, то какая другая коллекция лучше подходит для таких требований?

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

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