0
点赞
收藏
分享

微信扫一扫

scala 操作元组、集合


元组

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 Array​​String​​

  • 注意: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)
}


举报

相关推荐

0 条评论