Вопрос такой возник. Надо из списка объектов с числовым полем «x» выбирать тот объект, у которого этот самый «x» максимален. Делать так надо многократно. Кроме того есть метод, который на каждой итерации эти «иксы» выборочно пересчитывает (как раз перед выбором очередного максимального).
Вопрос, собственно, в том, как это реализовать наиболее оптимально в смысле скорости выполнения.
Решение в лоб - словарь с ключом типа целое число; элемент словаря - хэшсет объектов. Пересчитали «икс» - ищем в соответствующем старому значению «икса» множестве объект и удаляем его оттуда; добавляем пересчитанный объект в множество по новому ключу и т.д. И хранить дополнительно значение максимального ключа.
Но этот какой-то слишком рабоче-крестьянский вариант. Подскажите, пожалуйста, более элегантое решение.