元组
object AnswerApp {
def main(args: Array[String]): Unit = {
// 定义一个元组
val tuple = (1, 2, 3, 4, 5)
println(tuple._1)
// output: 1
// 迭代元组
tuple.productIterator.foreach(e => print(e + "-"))
// output: 1-2-3-4-5-
println()
// 定义一个元组. Tuple3 表示为可以容纳三个元素的元组
val tp = Tuple3("Answer", "Iris", "Allen")
tp.productIterator.foreach(e => print(e + "-"))
// output: Answer-Iris-Allen-
println("\n")
// 定义一个数组, 长度为 3
// var array = new Array[String](3)
var array: Array[String] = new Array[String](3)
array(0) = "answer"
array(1) = "Iris"
array(2) = "Allen"
// 会抛出 ArrayIndexOutOfBoundsException 异常
// array(3) = "James"
// 转为 元素为元组 的集合
val list = array.map(e => {
(e, "AI" + e, "AAL" + e)
}).toList
for (e <- list) {
println(e._1 + "-" + e._2 + "-" + e._3)
}
/** ourput:
* answer-AIanswer-AALanswer
* Iris-AIIris-AALIris
* Allen-AIAllen-AALAllen
* */
}
}
var array = new ArrayString
- 注意:scala 中数组不会自动扩容, 因此长度超过 3 之后再往数组中添加元素时会抛出 ArrayIndexOutOfBoundsException 异常
集合
object AiApp extends App {
// 定义一个 list
var list = List(1, 2, 3, 4)
// 将元素 0 添加到 list 的开头
val list1 = 0 :: list
// output: List(0, 1, 2, 3, 4)
println(list1)
val list2 = 0 +: list
// output: List(0, 1, 2, 3, 4)
println(list2)
val list3 = list .:: (0)
// output: List(0, 1, 2, 3, 4)
println(list3)
val list4 = list .:: (0, 5)
// output: List((0,5), 1, 2, 3, 4)
println(list4)
val list5 = list .+: (0)
// output: List(0, 1, 2, 3, 4)
println(list5)
val list6 = list .+: (0, 6)
// output: List((0,6), 1, 2, 3, 4)
println(list6)
// 将 元素0 添加到 list 的尾部
val list7 = list :+ 0
// output: List(1, 2, 3, 4, 0)
println(list7)
// 合并两个 list
val list8 = list ++ list7
// output: List(1, 2, 3, 4, 5, 6)
println(list8)
// 将list 插入到 list7 前
val list9 = list ++: list7
// output: List(1, 2, 3, 4, 5, 6)
println(list9)
}