038字典集合类之SortedList

SortedList 类

https://docs.microsoft.com/zh-cn/dotnet/api/system.collections.sortedlist?view=netcore-3.1

    SortedList对象是可以排序的字典对象。SortedList元素可通过其键来访问,也可以通过其索引来访问。 SortedList在内部维护两个数组以存储列表中的元素,一个数组用于存储键,另一个数组用于存储相关联的值。
    SortedList类中的索引顺序是基于排序后的顺序。当添加元素时,元素将按正确的排序顺序插入SortedList中,同时索引会相应地进行调整。当移除元素时,索引也会相应地进行调整。因此,当在SortedList中添加或移除元素时,特定键/值对的索引可能会更改。
    由于要进行排序,所以在SortedList上操作比在Hashtable上操作要慢。但是,SortedList允许通过相关联键或通过索引对值进行访问,可提供更高的灵活性。

属性

 
Capacity

获取或设置 SortedList 对象的容量。

Count

获取 SortedList 对象中包含的元素数。

Item[Object]

获取或设置与 SortedList 对象中的特定键相关联的值。

Keys

获取 SortedList 对象中的键。

Values

获取 SortedList 对象中的值。

方法

Add(Object, Object)

将带有指定键和值的元素添加到 SortedList 对象。

Clear()

从 SortedList 对象中移除所有元素。

Clone()

创建 SortedList 对象的浅表副本。

Contains(Object)

确定 SortedList 对象是否包含特定键。

ContainsKey(Object)

确定 SortedList 对象是否包含特定键。

ContainsValue(Object)

确定 SortedList 对象是否包含特定值。

CopyTo(Array, Int32)

从指定数组索引开始将 SortedList 元素复制到一维 Array 对象中。

Equals(Object)

确定指定的对象是否等于当前对象。

(继承自 Object)
GetByIndex(Int32)

获取 SortedList 对象的指定索引处的值。

GetKey(Int32)

获取 SortedList 对象的指定索引处的键。

GetKeyList()

获取 SortedList 对象中的键。

GetValueList()

获取 SortedList 对象中的值。

IndexOfKey(Object)

返回 SortedList 对象中指定键的从零开始的索引。

IndexOfValue(Object)

返回指定的值在 SortedList 对象中第一个匹配项的从零开始的索引。

Remove(Object)

从 SortedList 对象中移除带有指定键的元素。

RemoveAt(Int32)

移除 SortedList 对象的指定索引处的元素。

SetByIndex(Int32, Object)

替换 SortedList 对象中指定索引处的值。

TrimToSize()

将容量设置为 SortedList 对象中元素的实际数目。

示例

Module Module1

    Sub Main()
        Dim mySl As New SortedList
        'mySl.Add(0, "zero")
        mySl.Add(1, "one")
        mySl.Add(2, "two")
        mySl.Add(3, "three")
        mySl.Add(7, "seven")
        mySl.Add(8, "eight")
        mySl.Add(9, "nine")
        mySl.Add(4, "four")
        mySl.Add(5, "five")
        mySl.Add(6, "six")

        '索引从0开始
        Dim index As Integer = 8
        Console.WriteLine("索引 {0}处的值为{1}", index, mySl.GetKey(index))
        Console.WriteLine("索引 {0}处的值为{1}", index, mySl.GetByIndex(index))

        Dim myKeyList As IList = mySl.GetKeyList
        Dim myValueList As IList = mySl.GetValueList

        Console.WriteLine(vbTab & "-KEY-" & ControlChars.Tab & "-VALUE-")
        Dim i As Integer
        For i = 0 To mySl.Count - 1
            Console.WriteLine(vbTab & "{0}" & ControlChars.Tab & "{1}", myKeyList(i), myValueList(i))
        Next

        Console.Read()
    End Sub

End Module

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ngbshzhn

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值