您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

SparseBooleanArray的明确目的是什么?[我为此推荐了官方android网站]

SparseBooleanArray的明确目的是什么?[我为此推荐了官方android网站]

根据我从文档中得到的信息,它是将Integer值映射到布尔值的。

也就是说,如果要映射,则对于某个用户标识,应该显示一个小部件并且某些用户标识已被删除,则映射中会存在空白。

这意味着,对于普通数组,您将创建一个size = maxID的数组,并向index = userID处的元素添加一个布尔值。然后,当遍历数组时,在最坏的情况下,您将不得不遍历maxID元素,并且必须检查null该索引是否没有布尔值(例如,ID不存在)。那确实是低效的。

使用哈希映射执行此操作时,可以将ID映射到布尔值,但是会增加生成键的 哈希值的 开销(这就是为什么将其称为* hash * map)的原因,这最终会首先损害cpu周期的性能。以及RAM使用情况。

因此,SparseBooleanArray似乎是处理这种情况的良好中间路线。

尽管我的例子确实很虚构,但我希望它能说明情况。

其他 2022/1/1 18:28:15 有526人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶