0 我有一個非常大的集合,其中包含超過一百萬字符串元素。經常要檢查即將到來的字符串是否在此集合中。我不知道哪個是更快之間的斯卡拉list.contains()和set.contains()之間 我想知道哪個集合最好用,列表或集合?爲什麼? 來源 2014-04-01 Dzanvu +1 我認爲這是基本的數據結構問題。你可以使用一個'Set'或一個布隆過濾器(如果你沒有錯誤的話)。你也可以在這裏找到性能特徵(http://docs.scala-lang.org/overviews/collections/performance-characteristics.html)。 –
6 集會更快速,因爲它可以基於樹狀結構(複雜性將會像O(樹的高度)或使用散列(複雜性將接近O(常量)) ,對其他尺寸包含名單將有複雜爲O(n),其中ñ - 列表的大小 所以設置應該會更快,當我們談論的含有大量()的調用 來源 2014-04-01 08:42:44 Mysterion +1 Thx。我發現在我的程序中'Set.contains()'比'List.contains()'快了30倍。可怕。 – Dzanvu +1 除非你的設置是'ListSet',在這種情況下,性能將是相同的。 – +0 @ConnorDoyle,同意。只是不知道這個奇怪的集合:) – Mysterion
我認爲這是基本的數據結構問題。你可以使用一個'Set'或一個布隆過濾器(如果你沒有錯誤的話)。你也可以在這裏找到性能特徵(http://docs.scala-lang.org/overviews/collections/performance-characteristics.html)。 –