Scala -- 基础集合笔记

记录一下,Scala集合:

List Map Set Iterator Option[T] 

List:  是一个不可变的列表,列表都有相同的数据类型

#创建空列表
  val empty: List[Nothing] = List() 或者  val empty = Nil
#创建二维列表:
  val dim: List[List[Int]] = List(List(1,2,3,4),List(5,6,7))
#使用Nil 与 :: 创建列表, Nil表示一个列表:
  val data = "data"::("udat":Nil) 等效于 val data = List("data", "udat")
#List 列表的连接 :::  与List.:::
  var data1 = List(1,2,3)
  var data2 = List(4,5,6)
  var total = data1:::data2  #结果是data1 + data2
  var total = data1.:::(data2) 结果是data2 + data1
  var total = List.concat(data1, data2) #结果是 data1 + data2
#List 填充:
  List.fill(3)("run") #结果: List("run","run","run") 

集合Set:

   1.  Set集合存放的是不重复的元素(应该也是无序的)

   2. Set集合有两种,1. 可变集合, 2. 不可变的集合

   3. 默认是不可变的集合

使用可变的Set,必须先导入:

import scala.collection.mutable.Set
  #不可变集合:
    val data = Set(1,2,3)
    data.drop(n)去掉前n个
  #可变集合;
    val data = Set(2,3,4)
    data.add(5)
    data += 5
    去除元素:
    remove(5)
 不可变与可变集合都据有的方法:
   data.getClass.getName
   data.exists(_ % 2 == 0)
   data.head
   data.tail
   data.siEmpty
集合的合并操作: ++ 或 Set.++()
集合的交集:   Set.&() 或 Set.intersect()
集合的其他属性:
  data.min
  data.max

Map集合:

#创建空集合
  var  A:Map[Char,Int] = Map()
创建集合:
  var color = Map("red" -> "#Ff000", "green" -> "#ffddd")
  color += ("gray" -> "#fdsdf")
Map集合合并:
  Map.++ 或 ++ 与Set相同
Map属性:
 Map.keys /Map.values
遍历Map:
  color.keys.forearch{
   i => 
   println(i)
   println(color(i))
   
  }
查看key green是否存在:
 color.contains("green")

元组:

val data = (1, 2, 3)
获取元素的值:
  data._1 
  data._2
  data._3

迭代器:

#创建迭代器:
  val it = Iterator(3,4,5)
#迭代器具有的方法与属性
  hasNext
  next()
  min
  max
  size
  length

遍历:
while(it.hasNext){
   println(it.next())
}

Option[T] 是一个类型为 T 的可选值的容器: 如果值存在, Option[T] 就是一个 Some[T] ,如果不存在, Option[T] 就是对象 None 。

al sites = Map("runoob" -> "www.runoob.com", "google" -> "www.google.com") 
println("sites.get( \"runoob\" ) : " +  sites.get( "runoob" )) // Some(www.runoob.com)
println("sites.get( \"baidu\" ) : " +  sites.get( "baidu" ))  //  None

猜你喜欢

转载自blog.csdn.net/weixin_39594447/article/details/87819817