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

Java中contains()的最快数据结构?

荆修明
2023-03-14
问题内容

Java中对contains()操作最快的数据结构是什么?

例如,我有一组数字{1,7,12,12,14,20 …}

给定另一个任意数字x,(平均)最快的方法是生成x是否包含在集合中的布尔值?!contains()的概率大约高5倍。

是否所有地图结构都提供o(1)操作?HashSet是最快的方法吗?


问题答案:

看一下基于集合(哈希集,枚举集)和哈希(HashMap,linkedhash …,idnetityhash
..)的实现。他们对contains()有O(1)

该备忘单有很大帮助。



 类似资料:
  • 我试图理解是否以及在什么情况下应该使用Python类和/或Java类。 如果要制作一个专门的字典/地图类,应该从Python的dict或者Java的HashMap或者TreeMap等中提取一个子类? 很容易使用Python的,因为它们更简单、更性感。但是Jython运行相对较慢的一个原因(在我看来是这样)似乎与动态键入有关。我最好说我对所有这些都不太清楚,而且我也没有花晚上的时间仔细研究Pytho

  • 问题内容: (有时我们的主机是错误的;纳秒级很重要;) 我有一个Python Twisted服务器,该服务器与一些Java服务器进行通信,分析显示将其运行时的大约30%用于JSON编码器/解码器;它的工作是每秒处理数千条消息。 youtube的讲话提出了有趣的适用要点: 序列化格式-无论您使用哪种格式,它们都非常昂贵。测量。不要用泡菜 不是一个好选择。找到的协议缓冲区很慢。他们编写了自己的BSON

  • 本文向大家介绍数据结构中的最大WBLT操作,包括了数据结构中的最大WBLT操作的使用技巧和注意事项,需要的朋友参考一下 在这里,我们将看到什么是不同的Max-WBLT操作。HBLT具有不同的操作,例如插入,删除和初始化。它们也与WBLT非常相似。但是,融合操作可以在一次从上到下的过程中完成。 WBLT可以进行单遍熔合操作。因为我们可以在下降的过程中找到w值。我们可以根据需要更新w值并交换子树。对于

  • 本文向大家介绍插入数据结构中的最大HBLT,包括了插入数据结构中的最大HBLT的使用技巧和注意事项,需要的朋友参考一下 可以使用Max Meld操作将其插入Max HBLT。此操作用于将两个Max HBLT合并为一个Max HBLT。假设,我们想将x插入一个称为H的最大HBLT中。我们将使用x创建一个小的HBLT,然后将其与H融合,然后在融合之后,H将保留所有包含x的元素。因此,需要执行合并操作来

  • 问题内容: 有没有人知道一个库或至少一些有关在Java中创建和使用持久性数据结构的研究?我不是将持久性称为长期存储,而是将持久性称为不变性(请参阅Wikipedia条目)。 我目前正在探索为持久性结构建模api的不同方法。使用构建器似乎是一个有趣的解决方案: 但这仍然感觉有些呆板。有任何想法吗? 问题答案: 我想显而易见的选择是: o切换到临时数据结构(构建器)进行更新。这是很正常的。用于操纵例如

  • 问题内容: 我有一个创建会非常复杂的应用程序。这些需要作为表存储在数据库中。(作为XML)的轮廓将是… 这对包含日期范围,主过滤器,系列过滤器和系列过滤器的数据请求进行编码。基本上具有与任何元件可以在其父元素中出现多次属性- 所述例外是所述内。 但这的结构是一种学术性的,问题是更根本的: 当请求通过时,像这样的XML作为存储的proc的参数发送到SQLServer。此XML切碎成一个反规范化的表,