Scala操作Map
轉載自:Scala集合操作
Scala中的對映是鍵/值對的集合。任何值可以根據它的鍵進行檢索。鍵是在對映唯一的,但值不一定是唯一的。對映也被稱為雜湊
表。有兩種型別的對映,不可變以及可變的。可變和不可變的物件之間的區別在於,當一個物件是不可變的,物件本身不能被改變。默
認情況下,Scala中使用不可變的對映。如果想使用可變集,必須明確地匯入scala.collection.mutable.Map類。
// Empty hash table whose keys are strings and values are integers: var A:Map[Char,Int] = Map() // A map with keys and values. val colors = Map("red" -> "#FF0000", "azure" -> "#F0FFFF")
在定義空對映,型別註釋是必要的,因為系統需要指定一個具體的型別變數。如果我們要一個鍵值對新增到對映,我們可以使用運算子+如下:
A += ('I' -> 1) A += ('J' -> 5) A += ('K' -> 10) A += ('L' -> 100)
對映的基本操作:
在對映上的所有操作可被表示在下面的三種方法:
方法 | 描述 |
---|---|
keys | 這個方法返回一個包含對映中的每個鍵的迭代。 |
values | 這個方法返回一個包含對映中的每個值的迭代。 |
isEmpty | 如果對映為空此方法返回true,否則為false。 |
以下是上述方法中的例子顯示的用法:
object Test { def main(args: Array[String]) { val colors = Map("red" -> "#FF0000", "azure" -> "#F0FFFF", "peru" -> "#CD853F") val nums: Map[Int, Int] = Map() println( "Keys in colors : " + colors.keys ) println( "Values in colors : " + colors.values ) println( "Check if colors is empty : " + colors.isEmpty ) println( "Check if nums is empty : " + nums.isEmpty ) } }
當上述程式碼被編譯和執行時,它產生了以下結果:
C:/>scalac Test.scala C:/>scala Test Keys in colors : Set(red, azure, peru) Values in colors : MapLike(#FF0000, #F0FFFF, #CD853F) Check if colors is empty : false Check if nums is empty : true C:/>
相關文章
- Scala——三個容器:List Set Map
- Scala陣列操作陣列
- Scala與Java差異(五)之Map與TupleJava
- Aerospike API操作MapROSAPI
- Scala檔案操作詳解
- Java Map和List常見操作Java
- 陣列的reduce操作+物件陣列的map操作陣列物件
- scala常用操作-Tuple元祖轉換成String字串字串
- scala常用操作-去除字串最後一個字元字串字元
- python-python的sao操作 map reduce filterPythonFilter
- 你只會用 map.put?試試 Java 8 compute ,操作 Map 更輕鬆!Java
- Golang操作結構體、Map轉化為JSONGolang結構體JSON
- Java 8 中 Map 騷操作之 merge() 的用法Java
- 好程式設計師大資料學習路線分享Scala系列之對映Map程式設計師大資料
- Scala
- Scala 簡介 [摘自 Scala程式設計 ]程式設計
- Scala學習總結(from scala for the Impatient)
- Awesome Scala
- scala(一)
- Scala - DataFrame
- scala入門之編寫scala指令碼指令碼
- 自動生成操作slice的程式碼工具(unique,map,concate等)
- Scala(四):物件物件
- Scala(三):類
- scala(四)集合
- Scala特質
- scala 列舉
- Rxjava 2.x 原始碼系列 - 變換操作符 Map(上)RxJava原始碼
- Mybatis之map操作使用者和模糊查詢擴充套件MyBatis套件
- Flink - 安裝包scala 2.12和scala 2.11的區別
- Map
- The Coding Kata: FizzBuzzWhizz in Scala
- Scala筆記(一)筆記
- scala(二)-for迴圈
- scala(三)函式函式
- Scala 類和物件物件
- Scala 語法(一)
- scala中的sealed