文档章节

详测 Generics Collections TDictionary(2): ContainsKey、ContainsValue、AddOrSetValue、TryGetValue

涂孟超
 涂孟超
发布于 2014/09/26 15:38
字数 195
阅读 17
收藏 0
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls;

type
  TForm1 = class(TForm)
    Button1: TButton;
    procedure Button1Click(Sender: TObject);
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

uses Generics.Collections;

procedure TForm1.Button1Click(Sender: TObject);
var
  Dictionary: TDictionary<string,Integer>;
  b: Boolean;
  T: Integer;
begin
  Dictionary := TDictionary<string,Integer>.Create();

  {添加}
  Dictionary.Add('n1', 111);
  Dictionary.Add('n2', 222);
  Dictionary.Add('n3', 333);

  {判断指定的 Key 是否存在}
  b := Dictionary.ContainsKey('n1');
  ShowMessage(BoolToStr(b, True));   {True}
  b := Dictionary.ContainsKey('n4');
  ShowMessage(BoolToStr(b, True));   {False}

  {判断指定的 Value 是否存在}
  b := Dictionary.ContainsValue(111);
  ShowMessage(BoolToStr(b, True));   {True}
  b := Dictionary.ContainsValue(999);
  ShowMessage(BoolToStr(b, True));   {False}

  {使用 AddOrSetValue 时, 如果 Key 存在则替换值; 此时如果用 Add 将发生异常}
  Dictionary.AddOrSetValue('n1', 123);
  ShowMessage(IntToStr(Dictionary['n1'])); {123}

  {使用 AddOrSetValue 时, 如果 Key 不存在则同 Add}
  Dictionary.AddOrSetValue('n4', 444);
  ShowMessage(IntToStr(Dictionary['n4'])); {444}

  {尝试取值}
  if Dictionary.TryGetValue('n2', T) then
    ShowMessage(IntToStr(T)); {222}
  
  Dictionary.Free;
end;

end.

 
 
 
 
 

 

 

  

本文转载自:http://www.cnblogs.com/del/archive/2009/10/11/1580938.html

共有 人打赏支持
涂孟超
粉丝 12
博文 2011
码字总数 14107
作品 0
深圳
程序员
Delphi 2010 中的泛型

Delphi 2010 中的泛型日期:2010年5月31日 作者: 人气:10504 查看:[大字体 中字体 小字体]2010已发布很长时间了,口碑还不错,准备用它开发下一项目,但对泛型等新东西的认识还不够,就搜了...

vga
2016/08/09
19
0
hashmap实现原理浅析

看了下JAVA里面有HashMap、Hashtable、HashSet三种hash集合的实现源码,这里总结下,理解错误的地方还望指正 HashMap和Hashtable的区别 HashSet和HashMap、Hashtable的区别 HashMap和Hashtab...

商者
2016/03/30
37
0
org.apache.commons.collections.map.LRUMap 在cache中的使用

LRUMap对于构建缓存或者连接池之类的技术经常用到,common-collections框架给了现成的实现,大家在不需要修改的情况下,直接用,好用且稳定。 一个cache的简单例子: import org.apache.comm...

Faye_Cai
2016/08/15
238
0
oschina中的js hashMap,你有什么想说滴。。。。

function HashMap() { / Map 大小 / var size = 0; / 对象 / var entry = new Object(); / 存 / this.put = function (key , value) { if(!this.containsKey(key)) { size ++ ; } entry[key......

保罗的寓言
2011/06/09
120
0
Hashtable 与HashMap的区别

1、不同点: (1)、Hashtable书写不规范,t是小写(当然这不是重点,哈哈), (2)、Hashtable继承自Dictionary,而HashMap继承自AbstractMap。 (3)、Hashtable是JDK1.0时就有的,而HashMap...

科技小能手
2017/11/12
0
0

没有更多内容

加载失败,请刷新页面

加载更多

五类数据存储模型行、列、键值对、文档、图

1、行存储 定义:关系模型使用记录(行或者元组)进行存储,记录存储在表中,表由架构界定。表中的每个列都有名称和类型,表中的所有记录都要符合表的定义。SQL是专门的查询语言,提供相应的...

PeakFang-BOK
23分钟前
1
0
部署springcloud到docker中

1.在centos7中安装docker 2.打包eureka-server: 修改application.properties: 此处,eureka.instance.perfer-ip-address=true 表示实例地址为服务器的ip地址 使用maven命令打包: cmd进入项...

狼王黄师傅
39分钟前
1
0
赋能,打造不确定性敏捷团队

writeademo
39分钟前
1
0
Go interface{} to string

package mainimport "fmt"func main() {var a interface{}a = "dsadjaldaldad"var b stringb = a.(string) // 话说,用人话说的话,这叫什么操作?fmt.Println(a, b)}...

taadis
42分钟前
0
0
数据库防火墙

数据库防火墙顾名思义是一款数据(库)安全设备,从防火墙这个词可以看出,其主要作用是做来自于外部的危险隔离。换句话说,数据库防火墙应该在入侵在到达数据库之前将其阻断,至少需要在入侵...

突突突酱
51分钟前
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部