Точно так же, как один на один - я почти гарантирую, что вы не сможете сделать что-то лучше, чем Dictionary
или даже Object
в этом. Ваш предложенный план может сработать, но он не даст никакой выгоды по сравнению с этим. Я также чувствую себя обязанным предложить Vector over Array, поскольку векторы быстрее и мощнее.
Проблема хеш-библиотек в том, что они обычно приводят к очень, очень большому количеству. Например, MD5 создаст шестнадцатеричную строку, которая представляет собой гораздо больше, чем то, что может поместиться даже в uint (в uint можно указать 2 ^ 32, MD5 - 2 ^ 128). Это также может быть максимальный размер массива / вектора в AS.
Это не означает, что они не могут вписаться в Number
(который может содержать около 1,79 * 10 ^ 308), но это означает, что вы потеряете преимущество числовой индексации и, безусловно, выиграете ». На этом этапе у Векторов нет большой пользы. Вы в основном будете отступать на Object
.
Если честно, похоже, у вас есть один из двух вариантов. Либо вы можете реализовать прямой поиск, используя второй массив / вектор. Проблема состоит в том, что O (n) время поиска, в то время как время поиска таблицы Hash будет O (1).
Кажется, по крайней мере мне, что вам нужно будет использовать Dictionary
или Object
независимо от того, что для этого нужно сделать.