На вашем месте я бы использовал LinkedHashMap.Почему?
- Он поддерживает порядок вставки
- . Вы можете легко получить любой его элемент за O (1) время
- Если ключ повторно вставлен в карту,На порядок вставки это не повлияет
Кроме того, получение всех элементов с карты выполняет итерацию по каждой записи, поэтому это будет выглядеть примерно так:
for (Map.Entry<String, Integer> entry : map.entrySet())
{
System.out.println(entry.getKey() + ":" + entry.getValue());
}
РЕДАКТИРОВАТЬ:
Согласно комментариям, будет полезен даже простой ArrayList, который будет содержать пару работ и значений.Вы можете легко сохранить текущий максимум при добавлении к нему элементов, и тогда вам не придется тратить время на его поиск.Единственное, что я хотел бы предложить, это указать размер, потому что ArrayList увеличивается только на 50% и начинается с размера по умолчанию 10. Также, если вы хотите добавить элемент в ArrayList по одному, сделайте это с помощью простого метода add, чтобы добавить его в конец.