哪一个更快?List.contains()或Map.containsKey()

哪一个更快?List.contains()或Map.containsKey(),第1张

哪一个更快?List.contains()或Map.containsKey()

后来我意识到我并没有真正使用我包含的值,

Map
因此
List
就足够了。

Map
不仅是键值对的列表,而且是从键到值的唯一映射。所以,当你从改变
Map
List
,您允许重复,你以前没有。另一方面,a
Set
恰好是
Map
没有值的a。因此,请考虑使用
HashSet

至于搜索的复杂性

list.contains
是O(n),
hashSet.contains
O(1)和
treeSet.contains
O(log n)。

有关现在

HashMap
有效的一般信息,请使用Google的“哈希表”。对于
TreeMap
,Google表示“二叉树”或类似名称。维基百科在这些主题上有很好的条目

但是要小心,避免上课

Hashtable
。这是现代图书馆中的考古文物。对于您的情况
HashSet
可能是最佳选择。



欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5462309.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-12
下一篇 2022-12-12

发表评论

登录后才能评论

评论列表(0条)

保存