整数集合是用在我们在存储value集合,其中value是整数,当然数量过多的时候还是会变成链表。
在intset.h文件中intset 结构 表示一个整数集合:
encoding(编码方式),length集合包含元素数量,contents[]保存元素的数组。
contents数组中的元素的类型 是由encoding决定
当我们存一个新的元素到整数集合,且该元素的类型与原有的不一样 这就是升级
- 我们需要先升级底层数组的大小
- 将原有的数据类型升级为新的encoding
- 3.将新元素插入数组
目前是不支持降级
升级的好处,提升整数集合的灵活性,另一个是尽可能地节约内存。
升级如下:int8_t,int16_t,int32_t,int64_t
网友评论