RoaringBitmap简单描述

        roaringBitmap是在原始的bitmap算法的结构上进行了改进,是将一个整数划分为高16位和低16位,高16位作为一个公共key,低16位作为value,那么一个key就会对应2^16次方个整数(65536),如果需要存储的整数量大于4096时,就需要使用位图存储方式,即一个key对应了一个long[1024]的数组(bitmapContainer)这样就用1024个long型数字表示了2^16次方个整数(1024*64=2^16)即原始bitmap的原理,反之则需要使用short数组(arrayCotainer)存储低16位。当存储大量整数时会出现很多key,那么这些key存储在一个short数组中,且是有序的,这样有利于二分查找。

 

你可能感兴趣的:(bitmap)