The main problem with TStringList is in the Find function which basically uses a sequencial find (if I remember correctly), depending on how many items you have in your list the performance will degrade the more items you have in the list. With hash lists algoritms searching is only limited to those items whose hash(string) is the same, and the slight overhead of calculating the hash. Performance does not degrade too much no matter how many items you have in the list, unless all you items have string keys that compute to the same hash value.

http://oopweb.com/Algorithms/Documen...ashTables.html

Alert Fighter uses Hash Lists for all asset management (Textures, Models, Sound, Music, Game objects) it works extremely well

I don't think array of string would give you the same functionallity if you are trying to do

Gameobject := GameObjects['Player1'];
// do stuff with object.