JSRUN 用代码说话

可变列表

编辑教程

可变列表

List <T>类表示可以通过索引访问的对象的强类型列表。

它是List类的一个可变对象。 它类似于数组,因为它可以通过索引访问,但是,与数组不同,可以调整列表大小。 因此,您不需要在声明过程中指定大小。

创建一个可变列表

列表是使用new关键字并调用列表的构造函数创建。下面的例子说明了这一点 -

(* Creating a List *)
open System.Collections.Generic

let booksList = new List<string>()
booksList.Add("Gone with the Wind")
booksList.Add("Atlas Shrugged")
booksList.Add("Fountainhead")
booksList.Add("Thornbirds")
booksList.Add("Rebecca")
booksList.Add("Narnia")

booksList |> Seq.iteri (fun index item -> printfn "%i: %s" index booksList.[index])

当你编译和执行程序,它产生以下输出

0: Gone with the Wind
1: Atlas Shrugged
2: Fountainhead
3: Thornbirds
4: Rebecca
5: Narnia

列表(T)类

列表(T)类表示可以通过索引访问的对象的强类型列表。它提供的方法来搜索,排序和操作的列表。

下表提供的属性,构造函数和列表(T)类的方法

属性

属性 描述
Capacity 获取或设置内部数据结构可以保持不调整元件的总数量。
Count 获取包含在列表(T)的元素的数量。
Item 获取或设置元素指定索引处。

构造函数

构造函数 描述
List(T)() 初始化列表(T)类为空并且具有默认初始容量的新实例。
List(T)(IEnumerable(T)) 初始化包含从指定集合复制的元素,并具有足够的容量来容纳复制的元素的数量的列表(T)的类的新实例。
List(T)(Int32) 初始化列表(T)类为空并且具有指定的初始容量的新实例。

方法

方法 描述
Add 将对象添加到列表(T)的结束。
AddRange 将指定集合中的元素的列表(T)的结束。
AsReadOnly 返回当前集合的只读IList的(T)包装。
BinarySearch(T) 对于搜索使用默认的比较的元素,整个排序列表(T),并返回该元素的从零开始的索引。
BinarySearch(T, IComparer(T)) 搜索使用指定的比较的元素,整个排序列表(T),并返回该元素的从零开始的索引。
BinarySearch(Int32, Int32, T, IComparer(T)) 搜索范围在使用指定的比较的元素排序列表(T)的元素,并返回该元素的从零开始的索引。
Clear 从列表中删除(T)的所有元素。
Contains 确定一个元素是否是列表(T)。
ConvertAll(TOutput) 在当前列表(T)为另一种类型的元素转换,并返回包含转换元素的列表。
CopyTo(T[]) 将整个列表(T)到兼容的一维数组,从目标数组的开头。
CopyTo(T[], Int32) 将整个列表(T)到兼容的一维数组,从目标数组的指定索引处。
CopyTo(Int32, T[], Int32, Int32) 复制一定范围内从List(T)的元素到兼容的一维数组,从目标数组的指定索引处的。
Equals(Object) 确定指定的对象是否等于当前对象。 (从Object继承。)
Exists 判定列表(T)是否包含匹配指定的谓词所定义的条件的元素。
Finalize 允许一个对象尝试释放资源并之前它是由垃圾收集(从Object继承)回收执行其他清理操作。
Find 搜索匹配由指定谓词所定义的条件,并返回整个列表(T)中第一次出现的元件。
FindAll 检索所有匹配指定的谓词所定义的条件的元素。
FindIndex(Predicate(T)) 搜索匹配由指定谓词定义的条件,并返回整个List(T)中第一次出现的从零开始的索引的元素。
FindIndex(Int32, Predicate(T)) 搜索匹配由指定谓词所定义的条件,并在列表(T)的元素的范围内返回第一个出现的从零开始的索引,从指定索引到最后一个元素延伸的元素。
FindIndex(Int32, Int32, Predicate(T)) 搜索匹配由指定谓词所定义的条件,并在列表(T)的元素范围内返回第一个出现的从零开始的索引启动指定索引处,并包含指定元素数量的元素。
FindLast 搜索匹配由指定谓词所定义的条件,并返回整个列表(T)内的最后出现的元件。
FindLastIndex(Predicate(T)) 搜索匹配由指定谓词定义的条件,并返回整个List(T)内的最后一个匹配的从零开始的索引的元素。
FindLastIndex(Int32, Predicate(T)) 搜索匹配由指定谓词所定义的条件,并在列表(T)的元素的范围内返回最后出现的从零开始的索引,从第一个元素到指定索引扩展的元素。
FindLastIndex(Int32, Int32, Predicate(T)) 搜索匹配由指定谓词所定义的条件,并在列表(T)的元素范围内返回最后出现的从零开始的索引,它包含的元素指定数量的指定索引结束的元素。
ForEach 执行列表(T)的每个元素上指定的操作。
GetEnumerator 返回的枚举列表(T)进行迭代。
GetHashCode 作为默认哈希函数。 (从Object继承。)
GetRange 创建一个范围在源列表(T)的元素的浅表副本。
GetType 获取当前实例的类型。 (从Object继承。)
IndexOf(T) 搜索指定的对象,并返回整个List(T)中第一次出现的从零开始的索引。
IndexOf(T, Int32) 搜索指定的对象,并返回从指定索引到最后一个元素扩展了名单(T)的元素范围内第一次出现的从零开始的索引。
IndexOf(T, Int32, Int32) 搜索指定的对象,并返回启动指定索引处和包含的元素指定数量的列表(T)的元素范围内第一次出现的从零开始的索引。
Insert 插入一个元素指定索引处的列表(T)。
InsertRange 插入集合的指定索引处的元素融入到列表(T)。
LastIndexOf(T) 搜索指定的对象,并返回整个List(T)内的最后一个匹配的从零开始的索引。
LastIndexOf(T, Int32) 搜索指定的对象,并返回,从第一个元素到指定索引扩展了名单(T)的元素范围内最后一次出现的从零开始的索引。
LastIndexOf(T, Int32, Int32) 搜索指定的对象,并返回一个包含元素的指定数量的指定索引处结束的名单(T)的元素范围内最后一次出现的从零开始的索引。
MemberwiseClone 创建当前Object的浅表副本。 (从Object继承。)
Remove 从列表中删除(T)特定对象的第一次出现。
RemoveAll 删除所有匹配指定的谓词所定义的条件的元素。
RemoveAt 删除列表(T)的指定索引处的元素。
RemoveRange 删除一个范围从List(T)的元素。
Reverse() 反转在整个列表(T)中的元素的顺序。
Reverse(Int32, Int32) 反转指定范围中的元素的顺序。
Sort() 在排序使用默认的比较整个List(T)的元素。
Sort(Comparison(T)) 用指定的系统,在整个列表(T)的元素。比较(T)。
Sort(IComparer(T)) 用指定的比较器在整个List(T)的元素。
Sort(Int32, Int32, IComparer(T)) 在排序范围列表中使用指定的比较单元(T)的元素。
ToArray 复制名单(T)的一个新的数组中的元素。
ToString 返回表示当前对象的字符串。 (从Object继承。)
TrimExcess 设置的能力的列表(T)的元件的实际数量,如果该数量小于一个阈值。
TrueForAll 确定列表(T)的每个元素是否在指定的谓词所定义的条件相匹配。

(* Creating a List *)
open System.Collections.Generic

let booksList = new List<string>()
booksList.Add("Gone with the Wind")
booksList.Add("Atlas Shrugged")
booksList.Add("Fountainhead")
booksList.Add("Thornbirds")
booksList.Add("Rebecca")
booksList.Add("Narnia")

printfn"Total %d books" booksList.Count
booksList |> Seq.iteri (fun index item -> printfn "%i: %s" index booksList.[index])
booksList.Insert(2, "Roots")

printfn("after inserting at index 2")
printfn"Total %d books" booksList.Count

booksList |> Seq.iteri (fun index item -> printfn "%i: %s" index booksList.[index])
booksList.RemoveAt(3)

printfn("after removing from index 3")
printfn"Total %d books" booksList.Count

booksList |> Seq.iteri (fun index item -> printfn "%i: %s" index booksList.[index])

当你编译和执行程序,它产生以下输出

Total 6 books
0: Gone with the Wind
1: Atlas Shrugged
2: Fountainhead
3: Thornbirds
4: Rebecca
5: Narnia
after inserting at index 2
Total 7 books
0: Gone with the Wind
1: Atlas Shrugged
2: Roots
3: Fountainhead
4: Thornbirds
5: Rebecca
6: Narnia
after removing from index 3
Total 6 books
0: Gone with the Wind
1: Atlas Shrugged
2: Roots
3: Thornbirds
4: Rebecca
5: Narnia
JSRUN闪电教程系统是国内最先开创的教程维护系统, 所有工程师都可以参与共同维护的闪电教程,让知识的积累变得统一完整、自成体系。 大家可以一起参与进共编,让零散的知识点帮助更多的人。
X
支付宝
9.99
无法付款,请点击这里
金额: 0
备注:
转账时请填写正确的金额和备注信息,到账由人工处理,可能需要较长时间
如有疑问请联系QQ:565830900
正在生成二维码, 此过程可能需要15秒钟