Здравствуйте, Lucker, Вы писали:
Б>>Почему не упорядочиваются? Добавь им поле index и упорядочивай по нему
L>Ну это хак. В данном случае это семантически не упорядоченное множество. Меня интересует только равенство конкретному значению но никак не отношение больше/меньше. Метрика сравнения равна 0 при равенстве и не равна 0 при неравенстве.
мне кажется, не стоит смешивать семантику (в этом случае семантика "работает" на уровне исходного текста программы) и математически обоснованные способы доступа к данным с гарантированной скоростью
я к тому, что практически всегда ключи можно сделать comparable (в крайнем случае с помощью wrapper'а, если изначальная реализация недоступна, а очень надо), в конкретном примере — просто потому что основываются на строках.
и этим свойством имеет смысл пользоваться там, где алгоритмы от этого будут выигрывать. другое дело, что правильнее в таких случаях пользоваться отдельным классом-компаратором, но это уже вопрос конечного дизайна