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;
//從 TList<T> 建立 TQueue<T>
procedure TForm1.Button1Click(Sender: TObject);
var
Queue: TQueue<string>;
List: TList<string>;
s,str: string;
begin
List := TList<string>.Create();
List.AddRange(['AA', 'BB', 'CC']);
Queue := TQueue<string>.Create(List);
str := '';
for s in Queue do str := str + s + ' ';
ShowMessage(str); {AA BB CC }
ShowMessage(IntToStr(Queue.Count)); {3}
Queue.Clear;
ShowMessage(IntToStr(Queue.Count)); {0}
//Queue.TrimExcess; { TrimExcess 方法在 Queue 好像沒有存在的意義}
List.Free;
Queue.Free;
end;
end.