此頁面描述收集管線模式中的操作。如需更多背景資訊,請閱讀

相異

移除重複元素

傳回移除所有重複項目的新清單。

ruby…
[1,2,3,2,1].uniq
# => [1, 2, 3]
clojure…
(distinct [1 2 3 2 1])
;; => (1 2 3)

有些收集架構有單獨的 Set 類別來處理集合。這些架構會自動移除重複項目且沒有任何順序,這使它們成為數學集合的合適模型。在這些情況下,您可以使用轉換操作將清單轉換為集合以移除重複項目,但如果您想要保留順序,這將不適用。其他架構僅使用清單來表示集合,仰賴程式設計師在需要時移除重複項目。

元素通常使用等號運算子進行比較。然而,有些語言允許您提供 lambda 進行比較。

ruby…
["Bach", "Sibelius", "Beethoven", "Elgar", "Schumann"].
  uniq {|c| c[0]}
# => ["Bach", "Sibelius", "Elgar"]