diff --git a/packages/rtl-generics/src/generics.collections.pas b/packages/rtl-generics/src/generics.collections.pas
index 1638aa3479..1f5413c81f 100644
--- a/packages/rtl-generics/src/generics.collections.pas
+++ b/packages/rtl-generics/src/generics.collections.pas
@@ -266,6 +266,7 @@ type
     constructor Create; overload;
     constructor Create(const AComparer: IComparer<T>); overload;
     constructor Create(ACollection: TEnumerable<T>); overload;
+    constructor Create(aValues : Array of T); overload;
     {$IFDEF ENABLE_METHODS_WITH_TEnumerableWithPointers}
     constructor Create(ACollection: TEnumerableWithPointers<T>); overload;
     {$ENDIF}
@@ -1617,6 +1618,16 @@ begin
     Add(LItem);
 end;
 
+constructor TList<T>.Create(aValues : Array of T);
+
+var
+  LItem: T;
+begin
+  Create;
+  for LItem in aValues do
+    Add(LItem);
+end;
+
 {$IFDEF ENABLE_METHODS_WITH_TEnumerableWithPointers}
 constructor TList<T>.Create(ACollection: TEnumerableWithPointers<T>);
 var