• 有序集
    • 可用方法
    • Add
    • Clear
    • Count
    • Contains
    • First
    • GetElementByRank
    • GetElementByRevRank
    • GetElementRangeByRank
    • GetElementRangeByScore
    • GetScore
    • GetRank
    • GetRevRank
    • GetRangeCount
    • Last
    • Pop
    • Remove
    • RemoveRangeByRank
    • RemoveRangeByScore
    • ReverseIterator
    • Shift
    • ToArray

    有序集

    有序集合和集合一样也是元素的集合,且不允许重复的成员。不同的是每个元素都会关联一个可以被排序的分数。

    有序集合是通过分数来为集合中的成员进行从小到大的排序。有序集合的成员是唯一的,但分数却可以重复。

    可用方法

    • Add
    • Clear
    • Count
    • Contains
    • First
    • GetElementByRank
    • GetElementByRevRank
    • GetElementRangeByRank
    • GetElementRangeByScore
    • GetScore
    • GetRank
    • GetRevRank
    • GetRangeCount
    • Last
    • Pop
    • Remove
    • RemoveRangeByRank
    • RemoveRangeByScore
    • ReverseIterator
    • Shift
    • ToArray

    Add

    添加一个element到有序集合,或者如果它已经存在则更新其分数,并排序到正确的位置上。

    1. sortset.Add("this is element" , 10);

    Clear

    清空有序集中的所有元素。

    1. sortset.Clear();

    Count

    获取有序集的element数量。

    1. var num = sortset.Count;

    Contains

    判断有序集中是否存在element

    1. var isExists = sortset.Contains("this is element");

    First

    获取有序集中的第一个元素。如果有序集为空则引发InvalidOperationException异常。

    1. var element = sortset.First();

    GetElementByRank

    根据排名获取元素 (有序集成员按照Score从小到大排序)

    1. var element = sortset.GetElementByRank(10);

    GetElementByRevRank

    根据排名获取元素 (有序集成员按照Score从大到小排序)

    1. var element = sortset.GetElementByRevRank(10);

    GetElementRangeByRank

    根据排名获取范围内的元素列表,排序按照排名从小到大。(默认包括等于minmax)

    1. var list = sortset.GetElementRangeByRank(10,20);

    GetElementRangeByScore

    根据分数获取范围内的元素列表,排序按照分数从小到大。(默认包括等于minmax)

    1. var list = sortset.GetElementRangeByScore(100,200);

    GetScore

    返回有序集中element的分数,如果element不存在则引发KeyNotFoundException

    1. var score = sortset.GetScore("this is element");

    GetRank

    获取element的排名 , 有序集成员按照Score从小到大排序。如果返回-1则表示没有找到元素。

    1. var rank = sortset.GetRank("this is element");

    GetRevRank

    获取element的排名 , 有序集成员按照Score从大到小排序。如果返回-1则表示没有找到元素。

    1. var rank = sortset.GetRevRank("this is element");

    GetRangeCount

    获取分数区间内的元素数量。(默认包括等于minmax)

    1. var num = sortset.GetRangeCount(10,100);

    Last

    获取有序集中的最后一个元素。如果有序集为空则引发InvalidOperationException异常。

    1. var element = sortset.Last();

    Pop

    移除并返回有序集尾部的元素。如果有序集为空则引发InvalidOperationException异常。

    1. var element = sortset.Pop();

    Remove

    移除有序集合中的指定的element,如果移除失败则返回false

    1. var isSuccess = sortset.Remove("this is element");

    RemoveRangeByRank

    根据指定的排名范围移除范围内的所有element,并返回移除元素的数量。(默认包括等于minmax)

    1. int remove = sortset.RemoveRangeByRank(1020);

    RemoveRangeByScore

    根据指定的分数范围移除范围内的所有element,并返回移除元素的数量。(默认包括等于minmax)

    1. int remove = sortset.RemoveRangeByScore(100200);

    ReverseIterator

    反转迭代器迭代顺序。

    注意,这并不是真正意义反转整个有序集,只是反转了迭代顺序。

    1. sortset.ReverseIterator();

    Shift

    移除并返回有序集头部的元素。如果有序集为空则引发InvalidOperationException异常。

    1. var element = sortset.Shift();

    ToArray

    将有序集转为数组。

    1. var array = sortset.ToArray();