美文网首页JUC
JUC--并发容器:ConcurrentSkipListMap

JUC--并发容器:ConcurrentSkipListMap

作者: vsu | 来源:发表于2018-10-02 19:29 被阅读0次

    2018-10-02

    原文推荐 死磕Java并发

    Skip List ,称之为跳表,它是一种可以替代平衡树的数据结构,其数据元素默认按照key值升序,天然有序。Skip list让已排序的数据分布在多层链表中,以0-1随机数决定一个数据的向上攀升与否,通过“空间来换取时间”的一个算法,在每个节点中增加了向前的指针,在插入、删除、查找时可以忽略一些不可能涉及到的结点,从而提高了效率。

    SkipList具备如下特性
    由很多层结构组成,level是通过一定的概率随机产生的
    每一层都是一个有序的链表,默认是升序,也可以根据创建映射时所提供的Comparator进行排序,具体取决于使用的构造方法
    最底层(Level 1)的链表包含所有元素
    如果一个元素出现在Level i 的链表中,则它在Level i 之下的链表也都会出现
    每个节点包含两个指针,一个指向同一链表中的下一个元素,一个指向下面一层的元素

    相关文章

      网友评论

        本文标题:JUC--并发容器:ConcurrentSkipListMap

        本文链接:https://www.haomeiwen.com/subject/gyjaoftx.html