博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Delphi 中的哈希表: THashedStringList
阅读量:4664 次
发布时间:2019-06-09

本文共 1708 字,大约阅读时间需要 5 分钟。

转自万一博客

unit Unit1;interfaceuses  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,  Dialogs, StdCtrls;type  TForm1 = class(TForm)    Button1: TButton;    Button2: TButton;    procedure Button1Click(Sender: TObject);    procedure FormCreate(Sender: TObject);    procedure FormDestroy(Sender: TObject);    procedure Button2Click(Sender: TObject);  private    { Private declarations }  public    { Public declarations }  end;var  Form1: TForm1;implementation{$R *.dfm}uses  IniFiles;  //THashedStringList 来自 IniFiles 单元var  Hash: THashedStringList;{ THashedStringList 继承自 TStringList, 只是覆盖了 IndexOf、IndexOfName 两个方法以增加效率;  如果注重效率而不需要太多功能, 可以使用 TStringHash, 它是直接从 TObject 继承的数组链表 }//建立哈希表 (也可从文本文件加载)procedure TForm1.FormCreate(Sender: TObject);var  i: Integer;begin  Hash := THashedStringList.Create;  for i := 97 to 122 do  begin    Hash.Add(Chr(i) + '=' + IntToStr(i));  end;  ShowMessage(Hash.Text);{构建结果:  a=97  b=98  c=99  d=100  e=101  f=102  g=103  h=104  i=105  j=106  k=107  l=108  m=109  n=110  o=111  p=112  q=113  r=114  s=115  t=116  u=117  v=118  w=119  x=120  y=121  z=122}end;//检索哈希表procedure TForm1.Button1Click(Sender: TObject);var  i: Integer;begin  i := Hash.IndexOf('z=122');  ShowMessage(IntToStr(i));  //25  i := Hash.IndexOfName('z');  ShowMessage(IntToStr(i));  //25end;//基本操作procedure TForm1.Button2Click(Sender: TObject);begin  Hash.Values['a'] := '65';       //赋值  Hash.ValueFromIndex[0] := '65'; //用索引赋值  ShowMessage(Hash.Values['z']);       //122, 通过 name 取值  ShowMessage(Hash.ValueFromIndex[25]);//122, 用索引取值  {其他操作参加 TStringList}end;procedure TForm1.FormDestroy(Sender: TObject);begin  Hash.Free;end;end.

转载于:https://www.cnblogs.com/bjxsky/p/4670127.html

你可能感兴趣的文章
【Java】基本数据类型以及其转换
查看>>
线性代数基础
查看>>
【以太坊开发】如何开发一个编译以太坊智能合约并且发布的平台(一)
查看>>
两个矩阵相乘算法
查看>>
go包管理工具glide
查看>>
PHP XML Parser 函数
查看>>
HDU 1166 敌兵布阵(线段树区间求和)
查看>>
12月26 一维数组
查看>>
Android之网络管理
查看>>
Access denied for user 'root'@'localhost' (using password:YES)
查看>>
CXF整合spring
查看>>
使用python selenium webdriver模拟浏览器
查看>>
session 、cookie、token的区别
查看>>
Python-生成器_36
查看>>
mysql慢查询日志分析
查看>>
HTTP从入门到入土(4)——URI、URL和URN
查看>>
photoshop自动切图,导出svg,支持阿里巴巴图标库上传相互转换
查看>>
UI事件 计算器界面
查看>>
lucene简单使用demo
查看>>
实验三
查看>>