scala(四)集合
List
// 字串列表 val site: List[String] = List("Runoob", "Google", "Baidu") // 整型列表val nums: List[Int] = List(1, 2, 3, 4) // 空列表val empty: List[Nothing] = List() // 二維列表val dim: List[List[Int]] = List( List(1, 0, 0), List(0, 1, 0), List(0, 0, 1) )
構造列表的兩個基本單位是 Nil 和 ::
Nil 也可以表示為一個空列表。
// 字串列表 val site = "Runoob" :: ("Google" :: ("Baidu" :: Nil)) // 整型列表 val nums = 1 :: (2 :: (3 :: (4 :: Nil))) // 空列表 val empty = Nil // 二維列表 val dim = (1 :: (0 :: (0 :: Nil))) :: (0 :: (1 :: (0 :: Nil))) :: (0 :: (0 :: (1 :: Nil))) :: Nil
Scala列表有三個基本操作:
-
head
返回列表第一個元素 -
tail
返回一個列表,包含除了第一元素之外的其他元素 -
isEmpty
在列表為空時返回true連線列表
你可以使用 ::: 運算子或 List.:::() 方法或 List.concat() 方法來連線兩個或多個列表。例項如下:
object Test { def main(args: Array[String]) { val site1 = "Runoob" :: ("Google" :: ("Baidu" :: Nil)) val site2 = "Facebook" :: ("Taobao" :: Nil) // 使用 ::: 運算子 var fruit = site1 ::: site2 println( "site1 ::: site2 : " + fruit ) // 使用 List.:::() 方法 fruit = site1.:::(site2) println( "site1.:::(site2) : " + fruit ) // 使用 concat 方法 fruit = List.concat(site1, site2) println( "List.concat(site1, site2) : " + fruit ) }}
List.fill()
我們可以使用 List.fill() 方法來建立一個指定重複數量的元素列表:
List.tabulate()
List.tabulate() 方法是透過給定的函式來建立列表。
方法的第一個引數為元素的數量,可以是二維的,第二個引數為指定的函式,我們透過指定的函式計算結果並返回值插入到列表中,起始值為 0,
List.reverse
List.reverse 用於將列表的順序反轉
Map
// 空雜湊表,鍵為字串,值為整型 var A:Map[Char,Int] = Map() // Map 鍵值對 val colors = Map("red" -> "#FF0000", "azure" -> "#F0FFFF") 需要為鍵值對定義型別。如果需要新增 key-value 對,可以使用 + 號,如下所示: A += ('I' -> 1) A += ('J' -> 5) A += ('K' -> 10) A += ('L' -> 100 Map 基本操作 keys 返回 Map 所有的鍵(key) values 返回 Map 所有的值(value) isEmpty 在 Map 為空時返回true
Map 合併
你可以使用 ++ 運算子或 Map.++() 方法來連線兩個 Map,Map 合併時會移除重複的 key。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31496956/viewspace-2213143/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 17 scala集合使用
- Scala(四):物件物件
- Scala集合學習總結
- Scala陣列、元組與集合陣列
- scala佇列、並行集合基本使用佇列並行
- 從 Java 到 Scala(四):TraitsJavaAI
- Scala(四)之 流程控制
- Java集合四:Map簡介;Java
- 雜記四:scala 柯理化和隱式轉換
- Map集合的四種遍歷方式
- MySQL第四天——集合運算MySql
- Scala
- [Redis 系列]redis 學習四,set 集合,hash 雜湊,zset 有序集合初步認知Redis
- 【Redis 系列】redis 學習四,set 集合,hash 雜湊,zset 有序集合初步認知Redis
- Scala 簡介 [摘自 Scala程式設計 ]程式設計
- Scala學習總結(from scala for the Impatient)
- 大資料技術之_16_Scala學習_07_資料結構(上)-集合大資料資料結構
- Awesome Scala
- scala(一)
- Scala - DataFrame
- scala入門之編寫scala指令碼指令碼
- Java核心(四)你不知道的資料集合Java
- ES6學習筆記(四)【正則,集合】筆記
- 好程式設計師大資料學習路線分享Scala系列之集合操作函式程式設計師大資料函式
- Scala(三):類
- Scala操作Map
- Scala特質
- scala 列舉
- Kotlin——高階篇(四):集合(Array、List、Set、Map)基礎Kotlin
- Flink - 安裝包scala 2.12和scala 2.11的區別
- 《Spark程式設計基礎》(Scala版)第四章簡答題答案(自制)Spark程式設計
- 死磕 java集合之TreeMap原始碼分析(四)-內含彩蛋Java原始碼
- GameRefinery四月熱門手遊甄選:亮點集合GAM
- The Coding Kata: FizzBuzzWhizz in Scala
- Scala筆記(一)筆記
- scala(二)-for迴圈
- scala(三)函式函式
- Scala 類和物件物件