list.Max() 取最大元素
list.Avgage() 取平均值
static void Main()
{
List<string> names = new List<string>();
names.Add("一号元素");
names.Add("二号元素");
names.Add("狗");
names[2] = "三号元素";//修改第三个元素
string[] str = new string[] { "四号元素", "五号元素", "六号元素" };
names.AddRange(str);//为集合增加数组
Console.WriteLine("当前集合元素个数为{0}",names.Count);//返回集合元素个数
Console.WriteLine("当前集合的容量为{0}", names.Capacity);//返回当前集合的容量
//当添加元素的时候集合的容量不足以容纳所有元素就会自动增加目前元素数一倍的容量。
Console.WriteLine(names.Contains("三号元素"));//返回集合中是否存在某元素,bool类型
names.IndexOf("三号元素");//返回元素的索引值
names.Clear();//清空所有元素,元素个数为0,但是容量不变
}
List<int> list1= new List<int>();
WriteLine($"List的初始容量:{list1.Capacity}");
WriteLine($"List的初始数量:{list1.Count}");
list1.Add(0);
WriteLine($"通过Add()添加一个元素后的容量:{list1.Capacity}");
WriteLine($"通过Add()添加一个元素后的数量:{list1.Count}");
以上代码输出:
List的初始容量:0
List的初始数量:0
通过Add()添加一个元素后的容量:4
通过Add()添加一个元素后的数量:1
private class List<T> : Ilist<T>, System.Collections.IList, IReadOnlyList<T>
List内部是由数组实现的,当没有指定额定容量时,初始容量为0。
将给定对象添加到此列表的末尾。每次增加元素前,都会判断数组容量是否够。不够则进行扩容。
public void Add(T item)
删除列表中首次出现的item。将从头到尾搜索,使用Object.Equal()进行相等的判断。
public bool Remove(T item)
功能:在给定索引处插入元素。每次插入元素前都会检查当前容量是否足够,如果不够则进行扩容。
public void Insert(int index, T item);
功能:清除列表内容。注意:只是将Count置,之前申请空间不变,也就是Capacity不变。
List<int> list1= new List<int>();
list1.Add(0);
WriteLine($"通过Add()添加一个元素后的容量:{list1.Capacity}");
WriteLine($"通过Add()添加一个元素后的数量:{list1.Count}");
list1.Clear();
WriteLine($"Clear后的容量:{list1.Capacity}"); //清除后容量不变。即之前申请的空间不变
WriteLine($"Clear后的数量:{list1.Count}"); //数量置0
以上输出:
通过Add()添加一个元素后的容量:4
通过Add()添加一个元素后的数量:1
Clear后的容量:4
Clear后的数量:0
功能:确定某元素是否在List中。
public bool Contains(T item)
复制列表到一个新数组,O(n)的操作。
public T[] ToArray()
功能:查找满足指定条件的元素。接受一个Predicate委托作为参数,该委托定义了要应用于每个元素的条件。
public T Find(Predicate<T> match)
List<int> numbers = new List<int> { 1, 2, 3, 4, 5 };
// 使用Find函数查找大于3的第一个元素
int result = numbers.Find(x => x > 3); //Lambda表达式x => x > 3表示条件
Console.WriteLine(result); // 输出: 4
功能:对列表中的元素进行排序。Sort 方法使用元素的默认比较器进行排序,或者可以传递一个自定义的比较器作为参数。
public void Sort(int index, int count, TComparee<T> comparer)
List<int> numbers = new List<int> { 5, 2, 8, 1, 3 };
numbers.Sort();
numbers.Sort((x, y) => y.CompareTo(x));// 使用自定义比较器对列表进行降序排序
List<int> list11 = new List<int>(128);
WriteLine($"容量:{list11.Capacity}"); //容量:128
WriteLine($"数量:{list11.Count}"); //数量:0
List源码地址:链接: https://referencesource.microsoft.com/#mscorlib/system/collections/generic/list.cs