Generics 是否有FreePascal的Dictionary对象?

Generics 是否有FreePascal的Dictionary对象?,generics,dictionary,freepascal,Generics,Dictionary,Freepascal,要找到FreePascal的东西是难以置信的不可能的,因为所有的搜索最终都会出现在某种与Delphi相关的网站上 是否有内置的Dictionary对象 参考泛型类部分下的“t字典”,但我不知道它可能在哪个单元中,甚至不知道它是否存在。该单元包含freepascal的基本泛型类 在这些类中,最接近t词典的是TFPGMap 可以在此处找到如何使用此类的示例:。您可以使用泛型中非常兼容的TDictionary。集合单元: 适用于FPC主干版本。30239及更新版本 编辑2016年8月5日 集合

要找到FreePascal的东西是难以置信的不可能的,因为所有的搜索最终都会出现在某种与Delphi相关的网站上

是否有内置的Dictionary对象

参考泛型类部分下的“t字典”,但我不知道它可能在哪个单元中,甚至不知道它是否存在。

该单元包含
freepascal
的基本泛型类

在这些类中,最接近
t词典的是
TFPGMap


可以在此处找到如何使用此类的示例:。

您可以使用泛型中非常兼容的TDictionary。集合单元:

适用于FPC主干版本。30239及更新版本

编辑2016年8月5日


集合库已作为r34229中的rtl泛型包添加到FPC主干中。Win32+Lazarus主干的预编译FPC主干的最新版本(带有泛型.Collections),可从以下网址获得。Generics.Collections()的存储库仍将用于维护(应经常与FPC主干同步)。

Unit
fgl
包含已定义的泛型类。使用
TFPGMap
的一个例子是:事实上,最近的是fgl.TFPGMap。LU RD:让它成为一个正确的答案,这样它就可以被接受。要在你的搜索中在谷歌文章前面加上“fpc pascal”,忘记
TFPGMap
。它被实现为数组,这对于任何目的来说都太慢了。即使使用实际阵列也会更快。如果您被迫使用它,您需要将
sorted
设置为true,然后它至少使用二进制搜索进行读取,而不是线性搜索。@BeniBela那么您最终使用了什么?@jj_uui。Rtl泛型似乎总体上是最好的,但我不相信它们低于fpc 3.1。(复杂的泛型很棘手,甚至Lazarus在我打开它们的源代码时也崩溃了)ghashmap.THashMap是一个不错的退路。虽然我最终使用了Bero's的哈希映射,因为我已经在使用Regex库了,而且非常快,谢谢!免费帕斯卡新手更新信息的好来源。