Scala集合
Scala有一组丰富的集合库。集合是对事物的容器。这些容器可被测序,线性集像List, Tuple, Option, Map等集合的项目可具有元素的任意数量或有界到零个或一个元素(例如,Option)。
集合可能是严格或懒惰。懒集合有可能不消耗内存,直到他们被访问,就像范围元素。此外,集合可以是可变的(引用的内容可以更改)或不变(一个引用的东西指从未改变)。需要注意的是不可变的集合可能包含可变项。
对于一些问题,可变集合更好地工作,并为不可变集合更好地工作。如果有疑问,最好是先从一个不变的集合,如果需要可变进行更改。
本章给出最常用的集合类型对这些集合的信息和使用最频繁的操作。
SN | 集合使用说明 |
---|---|
1 |
Scala Lists Scala的List[T]是T类型的链表 |
2 |
Scala Sets 集是相同类型的配对的不同元素的集合。 |
3 |
Scala Maps 映射是键/值对的集合。任何值可以根据它的键进行检索。 |
4 |
Scala Tuples 不像数组或列表,元组可以容纳不同类型的对象。 |
5 |
Scala Options Option[T] 提供了一种容器,用于给定类型的零个或一个元素。 |
6 |
Scala Iterators 迭代不是集合,而是一种由一个访问的集合之一的元素。 |
示例:
下面的代码片段是一个简单的例子来定义所有上述集合类型:
// Define List of integers. val x = List(1,2,3,4) // Define a set. var x = Set(1,3,5,7) // Define a map. val x = Map("one" -> 1, "two" -> 2, "three" -> 3) // Create a tuple of two elements. val x = (10, "Scala") // Define an option val x:Option[Int] = Some(5)