二十五、详测 Generics Collections TDictionary(1): Add、Items、Keys、Values、Remove
2009-11-10 11:14
591 查看
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
TForm1 = class(TForm)
Button1: TButton;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
uses
Generics.Collections;
procedure TForm1.Button1Click(Sender: TObject);
var
Dictionary: TDictionary<string, Integer>;
k: string;
v: Integer;
str: string;
begin
Dictionary := TDictionary<string, Integer>.Create;
//添加
Dictionary.Add('n1', 111);
Dictionary.Add('n2', 222);
Dictionary.Add('n3', 333);
//访问
ShowMessage(IntToStr(Dictionary['n2'])); //222
ShowMessage(IntToStr(Dictionary.Items['n2'])); //222
//遍历keys
str := '';
for k in Dictionary.Keys do str := str + k + ' ';
ShowMessage(str); //n2 n3 n1 顺序乱了?
//遍历Values
str := '';
for v in Dictionary.Values do str := str + IntToStr(v) + ' ';
ShowMessage(str); //222 333 111
//删除
Dictionary.Remove('n1');
str := '';
for k in Dictionary.Keys do str := str + IntToStr(Dictionary[k]) + ' ';
ShowMessage(str); //222 333
//count clear
ShowMessage(IntToStr(Dictionary.Count)); //2
Dictionary.Clear;
ShowMessage(IntToStr(Dictionary.Count)); //0
Dictionary.Free;
end;
end.
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
TForm1 = class(TForm)
Button1: TButton;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
uses
Generics.Collections;
procedure TForm1.Button1Click(Sender: TObject);
var
Dictionary: TDictionary<string, Integer>;
k: string;
v: Integer;
str: string;
begin
Dictionary := TDictionary<string, Integer>.Create;
//添加
Dictionary.Add('n1', 111);
Dictionary.Add('n2', 222);
Dictionary.Add('n3', 333);
//访问
ShowMessage(IntToStr(Dictionary['n2'])); //222
ShowMessage(IntToStr(Dictionary.Items['n2'])); //222
//遍历keys
str := '';
for k in Dictionary.Keys do str := str + k + ' ';
ShowMessage(str); //n2 n3 n1 顺序乱了?
//遍历Values
str := '';
for v in Dictionary.Values do str := str + IntToStr(v) + ' ';
ShowMessage(str); //222 333 111
//删除
Dictionary.Remove('n1');
str := '';
for k in Dictionary.Keys do str := str + IntToStr(Dictionary[k]) + ' ';
ShowMessage(str); //222 333
//count clear
ShowMessage(IntToStr(Dictionary.Count)); //2
Dictionary.Clear;
ShowMessage(IntToStr(Dictionary.Count)); //0
Dictionary.Free;
end;
end.
相关文章推荐
- 详测 Generics Collections TDictionary(1): Add、Items、Keys、Values、Remove
- Python的字典的items(), keys(), values(),时间类型处理
- Python的dict类型迭代性能的优化(items()与iteritems()、keys()与iterkeys()、values()与itervalues()的区别)
- C# Dictionary Examples, Keys and Values
- 详测 Generics Collections TList (4): AddRange、InsertRange、DeleteRange
- 二十七、详测 Generics Collections TDictionary(3): TPairEnumerator、TKeyEnumerator、TValueEnumerator、ExtractPair
- 5、关于kvc中的setValuesForKeysWithDictionary为model赋值
- python学习之dict的items(),values(),keys()
- python字典函数values(),keys(),items()的用法与区别
- 字典的快速赋值 setValuesForKeysWithDictionary
- setValuesForKeysWithDictionary forUndefinedKey
- 详测 Generics Collections TDictionary(5): 多种 Create 手段
- 十二、详测 Generics Collections TList (3): Insert、Delete、Remove、Extract
- 二十八、详测 Generics Collections TDictionary(4): OnKeyNotify、OnValueNotify
- iOS setValuesForKeysWithDictionary
- 字典的快速赋值model: setValuesForKeysWithDictionary
- Python 字典(Dictionary) values()方与 keys()方法
- 详测 Generics Collections TList (7): Items、Contains
- 十三、详测 Generics Collections TList (4): AddRange、InsertRange、DeleteRange
- 二十九、详测 Generics Collections TDictionary(5): 多种 Create 手段