我需要维护字符串和整数之间的对应关系,然后查找字符串值并返回整数。满足以下要求的存储此信息的最佳结构是什么:
速度和内存大小按顺序很重要。
我不想重新发明轮子并编写自己的排序程序。调用 Sort(CompareFunction) 当然可以。
条件:
整数不保证是连续的,也没有像 0 或 1 这样的“起始值”
数据对的数量可以从 100 到 100000
数据都是一开始就读入的,没有后续的增删改
FWIW 字符串是 Outlook(MAPI?)用来识别条目的十六进制条目 ID。示例:00000000FE42AA0A18C71A10E8850B651C24000003000000040000000000000018000000000000001E7FDF4152B0E944BA66DFBF2C6A6416E4F52000487F22
有很多选项(TStringList(带有对象或名称/值对),TObjectList,TDictionary,...),我最好先征求意见...
我已阅读如何在 Delphi TStringList 中更快地搜索名称/值对?它建议字符串/字符串对的 TDictionary,以及Delphi 2007 中的多维数组排序,它建议字符串/整数的 TStringlist 对象,但对整数进行排序。