C# 泛型集合和非泛型集合(List ArrayLIst)

简介: C# 泛型集合和非泛型集合(List ArrayLIst)

目录

ArrayLIst非泛型集合

1.使用非泛型集合之前需要注意调用System.Collections

2.非泛型集合在使用的时候对于集合中的元素没有明确的类型要求

3.非泛型集合具有动态大小,可以根据数据量的多少调整大小

//命名空间
using System.Collections
//创建ArrayLIst集合
ArrayList list = new ArrayList();
//添加元素 可以是任意类型
list.Add();
list.AddRange();//添加数组类型
list.Clear();//清空集合中所有元素
list.Remove();//删除指定元素名元素
list.RemoveAt();//移索引对应的值
list.Insert();//在指定位置插入一个元素
list.InsertRange();//在指定位置插入一个数组
list.Sort();//排序
list.Reverse();//反转
list.Contains();//判断是否包含这个元素

List泛型集合

1.使用泛型集合之前调用System.Collections.Generic

2.泛型集合LIst(强类型),使用时需要确定类型,<>

3.List在多数情况下比ArrayList 执行的更好 更安全

//引用命名空间
using System.Collections.Generic
//创建泛型集合
List<类型> 集合名 = new List<类型>();
//List<int> list = new List<int>();
list.Add();//添加
/* 计算 */
list.Max();//最大值
list.Min();//最小值
list.Sum();//求和
list.Average();//平均值
/* 删除 */
list.Clear();//清空
list.Remove();//删除指定元素名元素
list.RemoveAt();//移索引对应的值
list.Reverse();//将元素顺序反转
list.Sort();//将元素进行排序
list.Contains();//包含

List<>与ArrayList对比

不同点:

1.List< T > 添加元素时类型严格检查 ArrayList可以增加任何类型

2.List< T > 添加和读取值类型元素时,无需装箱拆箱 ArrayList添加和读取 值类型元素时,需要装箱拆箱

相同点 :

1.通过索引访问集合的元素

2.添加对象方法相同

3.通过索引删除元素

目录
相关文章
|
1月前
|
Java 物联网 C#
C#/.NET/.NET Core学习路线集合,学习不迷路!
C#/.NET/.NET Core学习路线集合,学习不迷路!
|
3月前
|
存储 C# 索引
C# 一分钟浅谈:数组与集合类的基本操作
【9月更文挑战第1天】本文详细介绍了C#中数组和集合类的基本操作,包括创建、访问、遍历及常见问题的解决方法。数组适用于固定长度的数据存储,而集合类如`List<T>`则提供了动态扩展的能力。文章通过示例代码展示了如何处理索引越界、数组长度不可变及集合容量不足等问题,并提供了解决方案。掌握这些基础知识可使程序更加高效和清晰。
88 2
|
2月前
|
开发框架 NoSQL MongoDB
C#/.NET/.NET Core开发实战教程集合
C#/.NET/.NET Core开发实战教程集合
|
3月前
|
安全 程序员 编译器
C#一分钟浅谈:泛型编程基础
在现代软件开发中,泛型编程是一项关键技能,它使开发者能够编写类型安全且可重用的代码。C# 自 2.0 版本起支持泛型编程,本文将从基础概念入手,逐步深入探讨 C# 中的泛型,并通过具体实例帮助理解常见问题及其解决方法。泛型通过类型参数替代具体类型,提高了代码复用性和类型安全性,减少了运行时性能开销。文章详细介绍了如何定义泛型类和方法,并讨论了常见的易错点及解决方案,帮助读者更好地掌握这一技术。
86 11
|
3月前
|
SQL 开发框架 安全
并发集合与任务并行库:C#中的高效编程实践
在现代软件开发中,多核处理器普及使多线程编程成为提升性能的关键。然而,传统同步模型在高并发下易引发死锁等问题。为此,.NET Framework引入了任务并行库(TPL)和并发集合,简化并发编程并增强代码可维护性。并发集合允许多线程安全访问,如`ConcurrentQueue&lt;T&gt;`和`ConcurrentDictionary&lt;TKey, TValue&gt;`,有效避免数据不一致。TPL则通过`Task`类实现异步操作,提高开发效率。正确使用这些工具可显著提升程序性能,但也需注意任务取消和异常处理等常见问题。
60 1
|
4月前
|
编译器 C#
C#中内置的泛型委托Func与Action
C#中内置的泛型委托Func与Action
72 4
|
4月前
|
存储 C# 索引
C# 集合语法全解
C# 集合语法全解
39 0
|
4月前
|
C#
C# 面向对象编程(三)——接口/枚举类型/泛型
C# 面向对象编程(三)——接口/枚举类型/泛型
38 0
|
6月前
|
安全 Java
java线程之List集合并发安全问题及解决方案
java线程之List集合并发安全问题及解决方案
1039 1
|
5月前
|
Java API Apache
怎么在在 Java 中对List进行分区
本文介绍了如何将列表拆分为给定大小的子列表。尽管标准Java集合API未直接支持此功能,但Guava和Apache Commons Collections提供了相关API。