我需要一个Delphi键/值集合,能够按照插入/添加的顺序迭代遍历该集合中的键/值对。
TList保证顺序,但TDictionary不保证。
我想我可以定义一个TList>,但使用起来会更加麻烦。
是否有内置的集合类型满足我的需求,或者将TPair包装在TList中是最好的选择?还是可能更好的方法是使用TList和TDictionary,并通过列表进行迭代。
TList保证顺序,但TDictionary不保证。
我想我可以定义一个TList>,但使用起来会更加麻烦。
是否有内置的集合类型满足我的需求,或者将TPair包装在TList中是最好的选择?还是可能更好的方法是使用TList和TDictionary,并通过列表进行迭代。
TList<TPair<Key,Value>>
还不错,因为可以使用二分查找来进行Key查找操作,但是你可能需要一种基于tree
的数据结构。请注意,TList<TPair<x,y>>
不会强制执行唯一性,如果您想要强制执行唯一键,则可能还需要实现此功能。 - Warren P