ADT 基本属性&操作
* 1. 获取集合长度
* 2. 获取集合大小
* 3. 循环遍历集合
* 4. 迭代器
* 5. 生成字符串
* 6. 是否包含
* */
/*
* ADT 基本属性&操作
* 1. 获取集合长度
* 2. 获取集合大小
* 3. 循环遍历集合
* 4. 迭代器
* 5. 生成字符串
* 6. 是否包含
* */
object ADT extends App {
var arr = Array(1, 2, 3, 4, 5)
var list = List(1, 2, 3, 4, 5)
var map = Map("x" -> 1, "y" -> 2, "z" -> 3, "h" -> 4)
var tuple = (1, "2", 3, "4")
//1. 获取集合长度
println(arr.length)
println(list.length)
//println(map.length) map无length
//println(tuple.length) tuple无length
println("=================")
//2. 获取集合大小
println(arr.size) //调用length方法
println(list.size) //调用length方法
println(map.size)
//println(tuple.size) tuple无size
println("=================")
//3. 循环遍历集合
for (e <- arr) printf(s"${e}-")
for (e <- list) printf(s"${e}-")
for (e <- map) printf(s"${e}-")
//for (e <- tuple.productIterator) printf(s"${e}-")
println("===================")
def show(e: Int) = printf(s"${e}#")
def show(e: (String, Int)) = printf(s"${e._1} : ${e._2}#")
arr.foreach(show)
list.foreach(show)
map.foreach(show)
println("===============")
//4. 迭代器
var arr_iter = arr.iterator
var list_iter = list.iterator
var map_iter = map.iterator
var tuple_iter = tuple.productIterator
println(arr_iter)
println(list_iter)
println(map_iter)
println(tuple_iter)
//5. 生成字符串
println(arr.mkString("#"))
println(list.mkString("#"))
println(map.mkString("#"))
//println(tuple.mkString("#"))
//6. 是否包含
println(arr.contains(1))
println(list.contains(1))
println(map.contains("x")) //是否包含指定key
//println(tuple.contains)
}