如何使用FlatBuffers的Object API按键查找元素
FlatBuffers Object API 按键查找相关问题解答
- 关于Object API是否支持按键查找元素的功能
目前FlatBuffers官方Object API原生不支持类似非Object API中LookUpByKey的按键查找方法。非Object API的LookUpByKey是直接操作序列化后二进制缓冲区的底层实现,而Object API的核心逻辑是将FlatBuffer数据反序列化为对应编程语言的原生对象结构,因此没有内置对应的查找方法。 - 关于是否需要自行实现二分查找逻辑
原生不支持的前提下,你需要自行实现查找逻辑。如果使用场景数据量大、查找频率高,优先实现二分查找能获得更高的执行效率;如果数据量极小,直接遍历查找也能满足需求,可根据实际业务场景选择对应方案。 - 关于Object API操作的vector是否默认处于已排序状态
Object API操作的vector不会默认排序。它的元素顺序完全和序列化前你填入的顺序、以及原始FlatBuffer缓冲区中存储的顺序完全一致,FlatBuffers在序列化、反序列化为Object结构的全流程中都不会自动对vector做排序处理。如果要使用二分查找实现按键查找,你需要在序列化写入数据时就按key排序后填入,或者在反序列化拿到vector后先自行完成排序再执行查找逻辑。
内容的提问来源于stack exchange,提问作者Lake
相关产品推荐
相关产品推荐

