当前位置: 首页 > 面试题库 >

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

姜嘉良
2023-03-14
问题内容

我为“ SparseBooleanArray”类引用了android文档站点,但仍不知道该类的目的是什么?为了什么目的,我们需要使用该类?

这是文档链接
http://developer.android.com/reference/android/util/SparseBooleanArray.html


问题答案:

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

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

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

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

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

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



 类似资料:
  • 我是Spring靴的初学者。我参与了一个项目的开始,在这个项目中,我们将使用Spring引导构建Rest服务。当构建一个只公开其余服务的项目时,您能建议遵循推荐的目录结构吗?

  • 本文向大家介绍React组件命名推荐的方式是哪个?为什么不推荐使用displayName?相关面试题,主要包含被问及React组件命名推荐的方式是哪个?为什么不推荐使用displayName?时的应答技巧和注意事项,需要的朋友参考一下 [react] React组件命名推荐的方式是哪个?为什么不推荐使用displayName?

  • 问题内容: 我在中有一个列表对象。长按一个项目时,我要显示一个对话框,其中包含单击的项目中的数据。 所述使用数据的每个项目的结合和我能够显示用Log长按当从所选择的项目数据。 但是,当尝试显示对话框时,您需要转到,建议不要在对象中使用。 那么如何显示对话框? 谢谢,Ove 问题答案: 从概念上讲,ViewModel使我误认为是启动Dialog的错误位置。为了更简洁地执行此操作,我将把Recycle

  • 我以前从未想过,只有我使用了方法返回字符数组,并且我看到了方法是不推荐的。但现在我想,为什么这个方法被否决了?。

  • [1]http://springfox.github.io/springfox/javadoc/2.7.0/springfox/documentation/swagger/web/classorapiannotationresourcegrouping.html [2]https://github.com/springfox/springfox/issues/1307

  • 最近,我从使用RESTEasy 2.3.6.final更新到了最新的版本,结果发现org.jboss.RESTEasy.spi.NotFoundException和org.jboss.RESTEasy.spi.unauthorizedException是不推荐的。这些有替代品吗?