Android Utils 之 Vector 学习笔记(四,完结)—— KeyedVector 与 DefaultKeyedVector 代码分析

本文是Android Utils系列的完结篇,深入剖析了KeyedVector及其内部实现,包括类定义、具体实现以及如何在Vector基础上设定默认值的DefaultKeyedVector。通过对抽象类VectorImpl的分析,揭示了Vector内部工作原理,如内存分布、元素排序及操作安全性。
摘要由CSDN通过智能技术生成

相关文章


KeyedVector

终于来到我关注的 KeyedVector 类了。但实际上具体的逻辑实现部分都已经在前几章看到的 VectorImplSortedVectorImpl 以及 SortedVector 中搞定了,这里只是调用了它们提供的接口来实现相应的操作。

类定义

文件路径:system\core\libutils\include\utils\KeyedVector.h

这里也不需要太多分析,因为都是一些基本操作(注意有个 isIdenticalTo 函数,用于判断另一个 Vector 和当前的 Vector 是否一样,即同首地址)。

第 64 行,声明了 SortedVector 类型的内部变量 mVector,并且将其元素类型设置为键值对 key_value_pair_t<KEY, VALUE>。而对 key_value_pair_t 指针取值时,返回的应该是 KEY 的值,如果 KEY 是字符串,则比较大小时应是比较字符串大小(即此时 mVectorKEY 的字典序排列)。

template <typename KEY, typename VALUE>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值