天天看點

scala 簡要:數組與映射

版權聲明:本文為半吊子子全棧工匠(wireless_com,同公衆号)原創文章,未經允許不得轉載。 https://blog.csdn.net/wireless_com/article/details/42193563

Scala中的Array是定長數組,ArrayBuffer是變長數組,對應于Java中的ArrayList,C++中的Vector,可以用相同的代碼處理這兩種資料結構,用 for (i<-區間 )來周遊,

用for(...) yield  建立一個類型與原始集合相同的新集合,還可以通過if 在進行條件過濾。Scala中的内建函數sum,sorted,max,min,quicksork提供了常用算法。由于Scala數組是用java數組實作的,可以在java和scala之間傳遞,隻需引入scala.collection.JavaConversions裡的隐式轉換方法。

scala中,映射是對偶的集合,可以看做将鍵映射到值的函數,差別在于函數一般用于計算,而映射隻做查詢。用=可以直接增加映射,也可用+=添加多個關系,用for((k,v)<-映射) 來周遊映射,使用scala.collection.JavaConversions.mapAsScalaMap将Java中的map轉換為scala中的映射。

scala中,元組是不同類型的值的聚集,()構成元組,用方法1,2...通路其組元,而通常使用模式比對來擷取元組的組元。使用元組的原因之一是把多個值綁在一起,以便它們能夠被一起處理,通常用zip方法開完成,使用toMap方法将對偶的集合轉換成映射