Причина, по которой вы бы использовали SkipList<T>
против Dictionary<TKey,TValue>
, заключается в том, что список пропусков сохраняет свои элементы в порядке. Если вам необходимо регулярно перечислять элементы по порядку, список пропусков хорош, поскольку он может перечислять в O (n).
Если вы хотели иметь возможность перечисления по порядку, но вам было все равно, если перечисление равно O (n lg n), a SortedSet<T>
(или, скорее всего, SortedDictionary<TKey, TValue>
) было бы то, что вы хотели бы, потому что они используют красно-черные деревья (сбалансированные двоичные деревья), и они уже находятся в стандартной библиотеке.
Поскольку крайне маловероятно, что вы захотите перечислить свой кэш по порядку (или вообще), пропустить список (а также двоичное дерево) не нужно.