2011-10-12 54 views
12

或換句話說什麼是在Scala中的C#IEnumerable < T>的等價物?我認爲這是Seq [T],但我已經發現,HashMap沒有實現這個,所以它不是真的。斯卡拉的基本集合類型是什麼?

那麼,它是什麼?

+0

'HashMap'確實實現了' Seq'。也許你在看'java.util.HashMap'? – Madoc

回答

20

TraversableIterable是scala集合的基本特徵。實際上,Iterable延伸了Traversable

從階API文檔爲Iterable

甲基性狀爲可迭代集合。

這是所有Scala集合的基本特徵,它們定義了一個迭代器 方法逐步逐步收集集合的元素。

而且Traversable

這是各種Scala集合的一個基礎特徵。它通過 foreach實現了對所有收藏共同的行爲 。

這裏是scala-lang site一個漂亮的圖片,表示Scala集合層次(分別爲可變和不可變的):

enter image description here

永恆:

enter image description here

+0

真棒,非常感謝(現在我發現它使用谷歌圖像:-) http://www.scala-lang.org/docu/files/collections-api/collections_1.html。 – greenoldman

+5

和Traversable擴展了TraversableOnce(它統一了迭代器和可遍歷)並且TraversableOnce擴展了GenTraversableOnce(它是連續收集和並行的單元)。 – extempore