在Scala中搜索元组的嵌套列表的最有效方法

时间:2016-11-08 18:31:52

标签: scala search

我想在嵌套列表中搜索元组,但我想知道在Scala中这样做最有效的方法。例如,List[(String, Int)] = List((b,1), (c,1), (d,1))我想要搜索其中是否存在(c,1)。我可以使用contains,或者在效率方面找到最快的方法是什么?

2 个答案:

答案 0 :(得分:1)

List#contains 最快的方式。它最多只能传递List一次,并在找到匹配后立即停止。除非您知道列表已排序,否则您无法更快地完成任务。 Scala集合库的编写方式使得所有(如果不是大多数)基本函数都针对性能进行了优化。

请参阅source

答案 1 :(得分:0)

最快的方法是搜索基于hash的地图,其中“你的元组”是关键。它会为您提供搜索复杂度O(c)