784
技术社区[云栖]
TStringHash哈希表使用
TStringHash的key必须是string类型,value必须是integer类型。TStringHash.add(key, value)在网上说当长度不够时,自动扩展。于是TStringHash.Create(0)初始化长度为0。
运行以下代码:
uses System.IniFiles;
procedure TForm2.Button1Click(Sender: TObject);
var
tmp : TStringHash;
i : Integer;
key : string;
begin
try
tmp := TStringHash.Create(0);
for i := 1 to 100 do
begin
key := '数字' + inttostr(i);
tmp.Add(key, i);
end;
finally
tmp.Free;
end;
end;
出现异常:Division by zero。
将TStringHash.Create(0)改为TStringHash.Create(1)后,正常运行,说明add方法确实能够扩展长度,但是必须初始化长度不为0.
最后更新:2017-05-07 07:57:21
上一篇:
关于数据科学家面试的那些事儿
下一篇:
软件设计师考试笔记:UML统一建模语言
Linux Deepin:中国 Linux 桌面界的正能量
正则表达式学习参考
2017杭州·云栖大会明天开幕 袁家军参观展馆
rtop:一个通过 SSH 监控远程主机的交互式工具
如何将bug杀死在摇篮里?
阿里巴巴 Java 开发手册之安全规约(五)-------我的经验(逐步完善中)
解决linux根目录磁盘空间满
oracle中报ora-01033:oracle initializationg or shutdown in progress错
java中short s=s+1和s+=1的区别
Cracking the Coding Interview:: 寻找有环链表的环路起始节点