我想知道scala中list.contains()和set.contains()之间哪个更快

时间:2014-04-01 08:36:42

标签: scala collections

我有一个非常大的集合,其中包含超过一百万个 String 元素。经常检查即将到来的字符串是否在此集合中。

我想知道哪个系列更好用,列表设置?为什么?

1 个答案:

答案 0 :(得分:6)

Set 会更快,因为它可以基于树结构(复杂性将类似于 O(树的高度)或使用哈希(复杂性将接近 O(常数)), List 的另一个大小包含 O(n),其中 n < / em> - 列表大小

当我们谈论 contains()

的大量调用时,Set应该更快