delphi中,没有类似map的key-value的hashMap类?

披着虎皮的石头 2013-07-17 06:08:37

因为要对key值排序,所以用TStringlist不合适,
下面是java的例子:
 Map params = new HashMap();
params.put("360buy_param_json", json);
...全文
1129 12 打赏 收藏 举报
写回复
12 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
lhy 2013-07-18
自己写一个。
  • 打赏
  • 举报
回复
haitao 2013-07-18
引用 3 楼 zck_yy 的回复:
TStringList是对key-value的排序,而不是仅对key排序。
这样也可以采用二分查找,效率是一样的
  • 打赏
  • 举报
回复
我还是自己改写一个,比较合适。
  • 打赏
  • 举报
回复
sololie 2013-07-17
d7自带的容器就那么几个,都不带key排序的。也可以看看contnrs单元,这是个容器单元,里面有几个哈希表类
  • 打赏
  • 举报
回复
3、网上找了一个 --delphi 模拟哈希表 demo。OK 利用两个tstring类变量,来模拟完成key和value,都是字符串。 优点:开发、测试、维护接口参数排序很方便。 函数的参数是字符串方便。 函数内部已经有对两个TString释放的功能,所以不会内存溢出。 缺点:没有sort排序功能。因为写入的值不多,所以不用考虑性能问题。 需要写一个sort方法。建立一个Tstring临时变量, 临时存储sort前的key-value值,然后第一个变量sort, 然后删除第二个变量所有值,然后根据key到临时变量查找, 再写入到第二个变量。
  • 打赏
  • 举报
回复
http://www.bianceng.cn/Programming/Delphi/201201/33119_9.htm Delphi中的容器类(9)
  • 打赏
  • 举报
回复
THashedStringList 不过从Delphi6开始,VCL库中在IniFiles单元中提供了一个基于哈希表的字符串列表类THashedStringList类可以极大的提高查找定位的速度。
  • 打赏
  • 举报
回复
sololie 专业回帖师, 我用的是delphi7啊,有没有类似的第三方代码来实现hasmap的功能。
  • 打赏
  • 举报
回复
sololie 2013-07-17
d2009及以上 uses Generics.Collections; TDictionary<TKey,TValue> // 泛型字典
  • 打赏
  • 举报
回复
TStringList是对key-value的排序,而不是仅对key排序。
  • 打赏
  • 举报
回复
sololie 2013-07-17
老版本没有现成的,得自己实现。 delphi2009之后多得是现成的字典集合,也有泛型集合。
  • 打赏
  • 举报
回复
haitao 2013-07-17
Tstringlist也可以排序的
  • 打赏
  • 举报
回复
发帖
Delphi

5124

社区成员

Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
帖子事件
创建了帖子
2013-07-17 06:08
社区公告
暂无公告