数组(Array)
import scala.collection.mutable.ArrayBuffer // 定长数组 val a = new Array[String](5) val b = new Array[Int](5) val c = Array("cjj", "jjc") b.length // 数组赋值 a(1) = "cjj" a val array = Array[Int](1,2,3,4) // 末尾添加一个元素 val a1 = array :+ 111 // 开头添加一个元素 val a2 = 111 +: array val array2 = Array[Int](5,6) // 两个数组相加 array ++ array2 array.++(array2) array // 将数组中的值迭代赋值给ele,然后打印 for(ele <- array){ println(ele) } array.foreach(println) // 逆序输出 for(ele <- array.reverse){ println(ele) } // 跳2步输出一个 val array3 = Array("aaa", "bbb", "ccc") for(i <- array3.length-1 to 0 by -2){ println(array3(i)) } for(i <- 0 to array3.length-1 by +1){ println(array3(i)) } for(i <- array3.indices by +1){ println(array3(i)) } // 判断是否为空 array.isEmpty // 长度 array.length // 求最大值,最小值,求和 val d = Array(1,2,3,4,5,6) d.max d.min d.sum d.mkString d.mkString(",") d.mkString("<", ",", ">") // 变长数组 val e = ArrayBuffer[Int]() e += 1 e += (2,3,4) // 加定长数组 e ++= d // 在指定位置插入元素 e.insert(0, 99) e // 删除指定位置元素 e.remove(2) e // 从指定位置开始删除,删除多少个元素 e.remove(1, 3) e // 移除最后几个元素 e.trimEnd(2) e
列表(List)
List的特征是其元素以线性方式存储,集合中可以存放重复对象。
import scala.collection.mutable.ListBuffer // 创建一个空List Nil val l = List(1,2,3,4,5) // 返回头部 l.head // 返回除了头部之外的所有 l.tail // Any类型的List val l1 = List(1,2,3,"cjj",0.0) // List添加元素 val l2 = l1 :+ 55 val l3 = 11 +: l1 val l4 = 1 :: 2 :: 3 :: Nil val l5 = l1 :: Nil val l6 = 0 :: l1 val l7 = l1 ::: l2 // 添加元素 val list = ListBuffer[Int]() list += 2 list += (1,3,4) list ++= List(5,6,7) list // 减少元素,有就减,没有就不减 list -= 2 list -= 100 list --= List(3,4) // 返回除了头部之外的所有 list.tail list.tail.head val list2 = List(1,2,3,4,5,6) // 求和 list2.product // 从前往后删,从后往前删 list2.drop(2) list2.dropRight(2) val list3 = List(1,2,3,4) val list4 = List(3,4,5,6,7,8) // 并集 list3.union(list4) // 交集 list3.intersect(list4) // 在3里有,在4里没有的元素 list3.diff(list4) // 滑动窗口 val a = list4.sliding(4, 2) for(ele <- a)( println(ele) )
集合(Set)
import scala.collection.mutable.Set // 可以在任何地方引入 可变集合 val mutableSet = Set(1,2,3) println(mutableSet.getClass.getName) // scala.collection.mutable.HashSet mutableSet.add(4) mutableSet.remove(1) mutableSet += 5 mutableSet -= 2 println(mutableSet) // Set(5, 3, 4) val another = mutableSet.toSet println(another.getClass.getName) // scala.collection.immutable.Set
映射(Map)
object Test { def main(args: Array[String]) { val colors = Map("red" -> "#FF0000", "azure" -> "#F0FFFF", "peru" -> "#CD853F") val nums: Map[Int, Int] = Map() println( "colors 中的键为 : " + colors.keys ) println( "colors 中的值为 : " + colors.values ) println( "检测 colors 是否为空 : " + colors.isEmpty ) println( "检测 nums 是否为空 : " + nums.isEmpty ) } }