Delphi 中的哈希表(二)—— TStringHash
unit Unit1; interface uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls; type
TForm1 = class(TForm)
Button1: TButton;
Button2: TButton;
procedure FormCreate(Sender: TObject);
procedure FormDestroy(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end; var
Form1: TForm1; implementation {$R *.dfm} uses
IniFiles; //TStringHash 来自 IniFiles 单元
var
Hash: TStringHash; { TStringHash 的功能非常简单, 如果需要更多功能应该使用: THashedStringList
TStringHash 与 THashedStringList、TStringList 最大的不同是:
TStringHash 的 Key 必须是 String; Value 必须是 Integer.
如果这不适合你的要求, 建一个 TMyHash 也不是难事 } //建立哈希表
procedure TForm1.FormCreate(Sender: TObject);
var
i: Integer;
begin
Hash := TStringHash.Create(); // 是表的初始大小, 可以省略使用默认值256
for i := to do
begin
Hash.Add(Chr(i),i); //如果表不够大,会自动增加的
end;
end; //读取
procedure TForm1.Button1Click(Sender: TObject);
var
num: Integer;
begin
num := Hash.ValueOf('Z');
ShowMessage(IntToStr(num)); //
end; //修改、删除、清空
procedure TForm1.Button2Click(Sender: TObject);
begin
Hash.Modify('Z',); //修改
Hash.Remove('A'); //删除
Hash.Clear; //清空 {没了, 就这些功能}
end; procedure TForm1.FormDestroy(Sender: TObject);
begin
Hash.Free;
end; end.
Delphi 中的哈希表(二)—— TStringHash的更多相关文章
- Delphi 中的哈希表: THashedStringList
转自万一博客 Delphi 中的哈希表: THashedStringList unit Unit1; interface uses Windows, Messages, SysUtils, Var ...
- [转]:Delphi 中的哈希表(1): THashedStringList
unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms ...
- [PHP内核探索]PHP中的哈希表
在PHP内核中,其中一个很重要的数据结构就是HashTable.我们常用的数组,在内核中就是用HashTable来实现.那么,PHP的HashTable是怎么实现的呢?最近在看HashTable的数据 ...
- Python 中的哈希表
Python 中的哈希表:对字典的理解 有没有想过,Python中的字典为什么这么高效稳定.原因是他是建立在hash表上.了解Python中的hash表有助于更好的理解Python,因为Pytho ...
- 【PAT甲级】1078 Hashing (25 分)(哈希表二次探测法)
题意: 输入两个正整数M和N(M<=10000,N<=M)表示哈希表的最大长度和插入的元素个数.如果M不是一个素数,把它变成大于M的最小素数,接着输入N个元素,输出它们在哈希表中的位置(从 ...
- OVS 中的哈希表: shash
shash出现在OVS的代码中,定义如下: struct hmap_node { size_t hash; struct hmap_node * next; }; struct ...
- Freemarker 中的哈希表(Map)和序列(List)
freemarlker中的容器类型有: 哈希表:是实现了TemplateHashModel或者TemplateHashModelEx接口的java对象,经常使用的实现类是SimpleHash,该类实现 ...
- delphi中使用webbrowser提交表单
转自:http://blog.163.com/hehaifeng1984@126/blog/static/6900113620133504644998/ 我们以百度搜索为例,使用webbrowser组 ...
- PAT-1145(Hashing - Average Search Time)哈希表+二次探测解决冲突
Hashing - Average Search Time PAT-1145 需要注意本题的table的容量设置 二次探测,只考虑正增量 这里计算平均查找长度的方法和书本中的不同 #include&l ...
随机推荐
- Row_Number() OVER 的用法
Row_Number() OVER 的用法: 为每一条分组记录返回一个数字. 参考博友 , 博友二
- cocos2dx游戏开发——微信打飞机学习笔记(五)——BackgroundLayer的搭建
一.创建文件~ 文件名:BackgroundLayer.h BackgroundLayer.cpp 架构就跟前面的一样,我就直接进入正题 啦,而且github有完整代码,欢迎下载~ 二.创建滚动的背景 ...
- 查询SQLServer的启动时间
--2008及之后版本才有 SELECT sqlserver_start_time FROM sys.dm_os_sys_info
- Xamarin Anroid App访问网站失败
Xamarin Anroid App访问网站失败 错误信息:net::ERR_NAME_NOT_RESOLVED如果电脑同时有有线网卡和无线网卡,电脑使用无线网卡上网,而有线网卡不上网.这时,就会出现 ...
- 递推DP POJ 1163 The Triangle
题目传送门 题意:找一条从顶部到底部的一条路径,往左下或右下走,使得经过的数字和最大. 分析:递推的经典题目,自底向上递推.当状态保存在a[n][j]时可省去dp数组,空间可优化. 代码1: /*** ...
- C# 新技巧(一)
概述:所有代码均来自MVC源码的阅读.实际上,也是框架开发中常用的技巧. 1.使用Empty模式处理空对象 return Enumerable.Empty<ModelValidationResu ...
- HTML列表-框架
<frameset frameborder="边框大小" 列cols="各窗口百分比,隔开" 行rows=“各窗口百分比”> <frame n ...
- MapReduce多线程下的错误
最近在写一个MR调度程序,在以服务进程中同时开启了两个MapReduce线程.这两个MR共享同一份输入源,此时会造成Cast异常: java.lang.ClassCastException: org. ...
- BZOJ3356 : [Usaco2004 Jan]禁闭围栏
首先将坐标离散化,考虑从左往右扫描线 碰到插入操作则插入 碰到删除操作的: 当前包含i的矩形数=y1在[1,y2[i]]之间的矩形数-y2在[1,y1[i]-1]之间的矩形数 用两棵树状数组维护即可, ...
- storm源码之一个class解决nimbus单点问题【转】
本文导读: storm nimbus 单节点问题概述 storm与解决nimbus单点相关的概念 nimbus目前无法做到多节点的原因 解决nimbus单点问题的关键 业界对nimbus单点问题的努力 ...