c# List vs SortedList vs LinkedList

List

  • The List class implements the ICollection, IEnumerable, IList, IReadOnlyCollection, IReadOnlyList, ICollection, IEnumerable, and IList interface.

  • 它可以接受 null 作为引用类型的有效值,也允许重复元素。

  • 如果 Count 等于 Capacity,则 List 的容量会通过重新分配内部数组自动增加。 在添加新元素之前,现有元素将被复制到新数组中。

  • 默认情况下,列表中的元素不排序,元素通过从零开始的索引访问。


SortedList

  • The SortedList class implements the IEnumerable, ICollection, IDictionary and ICloneable interfaces.

  • 在 SortedList 中,可以通过其键或索引来访问元素。

  • SortedList 对象在内部维护两个数组来存储列表的元素,即一个数组用于键,另一个数组用于关联值。

  • 在这里,键不能为空,但值可以。

  • SortedList 对象的容量是它可以容纳的键/值对的数量。

  • 在 SortedList 中,不允许有重复的键。

  • 在 SortedList 中,由于非泛型集合,您可以存储相同类型和不同类型的值。 如果您在程序中使用通用的 SortedList,则值的类型必须相同。

  • 在 SortedList 中,您不能将不同数据类型的键存储在同一个 SortedList 中,因为编译器会抛出异常。 因此,请始终在相同类型的 SortedList 中添加键。

  • 您还可以将 SortedList 的键/值对转换为 DictionaryEntry。


LinkedList

  • LinkedList 类实现了 ICollection、IEnumerable、IReadOnlyCollection、ICollection、IEnumerable、IDeserializationCallback 和 ISerializable 接口。

  • 它还支持枚举器。

  • 您可以在同一个列表或另一个列表中删除节点并重新插入它们,这样就不会在堆上分配额外的对象。

  • LinkedList 对象中的每个节点都属于 LinkedListNode 类型。

  • 它不支持链接、拆分、循环或其他可能使列表处于不一致状态的功能。

  • 如果 LinkedList 为空,则 First 和 Last 属性包含 null。

  • LinkedList 的容量是 LinkedList 可以容纳的元素数。

  • 在 LinkedList 中,允许存储相同类型的重复元素。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
SortedListC#中的一个类,用于存储键值对,并按键的顺序进行排序。它具有以下属性和方法: - Capacity:获取或设置SortedList的容量。 - Count:获取SortedList中的元素个数。 - IsFixedSize:获取一个值,表示SortedList是否具有固定大小。 - IsReadOnly:获取一个值,表示SortedList是否只读。 - Item:获取或设置与SortedList中指定的键相关的值。 - Keys:获取SortedList中的键。 - Values:获取SortedList中的值。 SortedList通过允许通过关联的键或索引来访问值,提供了更大的灵活性。可以使用整数索引访问此集合中的元素,索引从零开始。\[1\]\[2\]\[3\] #### 引用[.reference_title] - *1* *2* [C# 集合系列 =>排序列表(SortedList)](https://blog.csdn.net/LiKe11807/article/details/121214618)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [c#基础知识---集合之排序列表(SortedList)](https://blog.csdn.net/zhanglei1234321/article/details/79180668)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值