Какие есть коллекции словарей, какие посоветуете библиотеки?
Какая есть коллекция, для константного словаря, в который не будет вставляется элементы после инициализации. Есть ReadOnlyDictionary но он какой-то просто декоратор. Там без каких плющек.
В теории, к примеру, зная все ключи, можно как-то хитро там их расположить без коллизий. Или по какому-то другому хеш коду искать. Или прикрутить кеш, типа LRU.
Задача, есть 1000-10_000 ключей, известных при инициализации. Какие есть способы оптимизации поиска.
1. Ключи какой тип имеют?
2. У стандартного Dictionary можно подсунуть альтернативную реализацию comparator, который будет другим способом считать хэшкод - тогда ты можешь реализовать просто свой Comparator.
3. В принципе ты можешь попробовать полностью свой класс реализовать, который будет реализовывать интерфейс IReadOnlyDictionary.
4.
Есть ReadOnlyDictionary но он какой-то просто декоратор
Есть ещё ImmutableDictionary, но он прям очень специфичный - скорее для ситуаций, когда тебе нужно модифицировать словарь, но так, чтобы исходный оставался без изменений и без копирования его целиком.
5. В принципе вместо хэштаблиц ты можешь попробовать посмотреть на какие-нибудь деревья, но хз, будут ли они в твоей ситуации лучше.
1000 - 10000 ключей - не те объемы, на которых нужна оптимизация словаря - все там будет быстро.
А для реально больших количеств ключей используются базы данных