閱讀784 返回首頁    go 阿裏雲 go 技術社區[雲棲]


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

  上一篇:go 關於數據科學家麵試的那些事兒
  下一篇:go 軟件設計師考試筆記:UML統一建模語言