FreePascal有一个Dictionary对象吗?

Nam*_*nge 5 generics dictionary freepascal

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

是否有内置的Dictionary对象?

这个页面引用了Generic Classes部分下的"TDictionary",但我不知道它可能是什么单元,或者它是否存在.

LU *_* RD 6

该单元fgl包含基本的通用类freepascal.

在这些课程中,最接近a的TDictionaryTFPGMap.

可以在此处找到如何使用此类的示例:Class Map or Dictionary, anyone?.

  • @jj_首先我[对他们进行全部基准测试](http://www.benibela.de/fpc-map-benchmark_en.html).Rtl-generics似乎是最好的整体,但我不相信它们在fpc 3.1之下.(复杂的泛型很棘手,甚至Lazarus在打开源码时崩溃了)ghashmap.THashMap是一个好的后备.虽然我最终使用了Bero的[Fast Light Regular Expressions库](https://github.com/BeRo1985/flre)的哈希映射,因为我已经在使用该库进行正则表达式而且它的速度非常快 (2认同)

HNB*_*HNB 5

您可以使用来自 Generics.Collections 单元的非常兼容的 TDictionary:

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

编辑 05.08.2016

Generics.Collections 库已作为 r34229 中的 rtl-generics 包添加到 FPC 主干中。适用于 Win32 + Lazarus 主干的最新版本的预编译 FPC 主干(带有 Generics.Collections)可从http://newpascal.org 获得。Generics.Collections 的仓库(https://github.com/dathox/generics.collections)仍将用于维护(应经常与 FPC 主干同步)。