1、List<T>类是 ArrayList 类的泛型等效类。该类使用大小可按需动态增加的数组实现 IList<T>泛型接口。
2、List<T>类既使用相等比较器又使用排序比较器。
诸如 Contains、IndexOf、LastIndexOf 和 Remove 这样的方法对列表元素使用相等比较器。类型 T 的默认相等比较器按如下方式确定。如果类型 T 实现 IEquatable<T>泛型接口,则相等比较器为该接口的 Equals(T)方法;否则,默认相等比较器为 Object.Equals(Object)。
诸如 BinarySearch 和 Sort 这样的方法对列表元素使用排序比较器。类型 T 的默认比较器按如下方式确定。如果类型 T 实现 IComparable<T>泛型接口,则默认比较器为该接口的 CompareTo(T) 方法;否则,如果类型T 实现非泛型 IComparable 接口,则默认比较器为该接口的 CompareTo(Object) 方法。如果类型 T 没有实现其中任一个接口,则不存在默认比较器,并且必须显式提供比较器或比较委托。
3、List<T>不保证是排序的。在执行要求 List<T>已排序的 *** 作(例如 BinarySearch)之前,您必须对 List<T>进行排序。
4、可使用一个整数索引访问此集合中的元素。此集合中的索引从零开始。
5、List<T>接受 null 作为引用类型的有效值并且允许有重复的元素。
TStringList 可以放重复的元素,以下是测试示例代码:
procedure TForm1.Button1Click(Sender: TObject)var
lst: TStringList
i: Integer
begin
lst := TStringList.Create
//首次
for i := 1111 to 1121 do
begin
lst.Add(Format('item%d',[i]))
end
Memo1.Lines.Add('首次添加' + lst.Count.ToString())
Memo1.Lines.AddStrings(lst)
//重复
for i := 1111 to 1121 do
begin
lst.Add(Format('item%d',[i]))
end
Memo1.Lines.Add('再次添加,当前条目总数为:' + lst.Count.ToString())
Memo1.Lines.AddStrings(lst)
lst.Free
end
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)