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, Generics.Defaults; procedure TForm1.Button1Click(Sender: TObject); var List: TList<Integer>; i: Integer; str: string; begin List := TList<Integer>.Create(); List.AddRange([22,33,11]); str := ''; for i in List do str := str + IntToStr(i) + ' '; ShowMessage(str); {22 33 11 } {排序} List.Sort; str := ''; for i in List do str := str + IntToStr(i) + ' '; ShowMessage(str); {11 22 33 } {倒排序} List.Sort(TComparer<Integer>.Construct( function (const n1,n2: Integer): Integer begin Result := n2 - n1; end)); str := ''; for i in List do str := str + IntToStr(i) + ' '; ShowMessage(str); {33 22 11 } List.Free; end; end.