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 List: TList<string>; begin List := TList<string>.Create(); List.Add('AA'); List.Add('BB'); List.Add('CC'); List.Add('BB'); List.Add('DD'); ShowMessageFmt('First: %s', [List.First]); {First: AA} ShowMessageFmt('Last: %s', [List.Last]); {Last: DD} ShowMessageFmt('IndexOf: %d', [List.IndexOf('BB')]); {IndexOf: 1} ShowMessageFmt('LastIndexOf: %d', [List.LastIndexOf('BB')]); {LastIndexOf: 3} List.Free; end; end.