Scala入門 列表的常用操作

2021-10-02 15:46:31 字數 3910 閱讀 4428

以下是列表常用的操作

示例

參考**

scala> val a = list(1,2,3,4)

a: list[int] = list(1, 2, 3, 4)

scala> a.isempty

res51: boolean = false

示例

參考**

scala> val a = list(1,2,3)

a: list[int] = list(1, 2, 3)

scala> val b = list(4,5,6)

b: list[int] = list(4, 5, 6)

scala> a ++ b

res52: list[int] = list(1, 2, 3, 4, 5, 6)

示例

參考**

scala> val a = list(1,2,3)

a: list[int] = list(1, 2, 3)

scala> a.head

res4: int = 1

scala> a.tail

res5: list[int] = list(2, 3)

示例

scala> val a = list(1,2,3)

a: list[int] = list(1, 2, 3)

scala> a.reverse

res6: list[int] = list(3, 2, 1)

示例

參考**

scala> val a = list(1,2,3,4,5)

a: list[int] = list(1, 2, 3, 4, 5)

scala> a.take(3)

res56: list[int] = list(1, 2, 3)

scala> a.drop(3)

res60: list[int] = list(4, 5)

扁平化表示將列表中的列表中的所有元素放到乙個列表中。

[外鏈轉存失敗,源站可能有防盜煉機制,建議將儲存下來直接上傳(img-tvs4usoz-1581142766375)(assets/1557063067562.png)]

示例

參考**

scala> val a = list(list(1,2), list(3), list(4,5))

a: list[list[int]] = list(list(1, 2), list(3), list(4, 5))

scala> a.flatten

res0: list[int] = list(1, 2, 3, 4, 5)

示例

使用zip操作將兩個列表的資料"拉"在一起,形成 zhangsan->19, lisi ->20, wangwu->21

參考**

scala> val a = list("zhangsan", "lisi", "wangwu")

a: list[string] = list(zhangsan, lisi, wangwu)

scala> val b = list(19, 20, 21)

b: list[int] = list(19, 20, 21)

scala> a.zip(b)

res1: list[(string, int)] = list((zhangsan,19), (lisi,20), (wangwu,21))

示例

參考**

scala> res1.unzip

res2: (list[string], list[int]) = (list(zhangsan, lisi, wangwu),list(19, 20, 21))

tostring方法可以返回list中的所有元素

示例

參考**

scala> val a = list(1,2,3,4)

a: list[int] = list(1, 2, 3, 4)

scala> println(a.tostring)

list(1, 2, 3, 4)

mkstring方法,可以將元素以分隔符拼接起來。預設沒有分隔符

示例

參考**

scala> val a = list(1,2,3,4)

a: list[int] = list(1, 2, 3, 4)

scala> a.mkstring

res7: string = 1234

scala> a.mkstring(":")

res8: string = 1:2:3:4

union表示對兩個列表取並集,不去重

示例

參考**

scala> val a1 = list(1,2,3,4)

a1: list[int] = list(1, 2, 3, 4)

scala> val a2 = list(3,4,5,6)

a2: list[int] = list(3, 4, 5, 6)

// 並集操作

scala> a1.union(a2)

res17: list[int] = list(1, 2, 3, 4, 3, 4, 5, 6)

// 可以呼叫distinct去重

scala> a1.union(a2).distinct

res18: list[int] = list(1, 2, 3, 4, 5, 6)

intersect表示對兩個列表取交集

示例

scala> val a1 = list(1,2,3,4)

a1: list[int] = list(1, 2, 3, 4)

scala> val a2 = list(3,4,5,6)

a2: list[int] = list(3, 4, 5, 6)

scala> a1.intersect(a2)

res19: list[int] = list(3, 4)

diff表示對兩個列表取差集,例如: a1.diff(a2),表示獲取a1在a2中不存在的元素

示例

scala> val a1 = list(1,2,3,4)

a1: list[int] = list(1, 2, 3, 4)

scala> val a2 = list(3,4,5,6)

a2: list[int] = list(3, 4, 5, 6)

scala> a1.diff(a2)

res24: list[int] = list(1, 2)

Scala常用List列表操作方法示例

把scala list的幾種常見方法梳理彙總如下,日常開發場景基本上夠用了。建立列表 scala val days list sunday monday tuesday wednesday thursday friday saturday days list string list sunday,m...

Scala入門 對映的基本操作

定義乙個對映,包含以下學生姓名和年齡資料 zhangsan 30 lisi 40 獲取zhangsan的年齡 獲取所有的學生姓名 獲取所有的學生年齡 列印所有的學生姓名和年齡 獲取wangwu的年齡,如果wangwu不存在,則返回 1 新增乙個學生 wangwu,35 將lisi從可變對映中移除 參...

Scala 不可變List列表操作

建立空列表 scala val list nil val list collection.immutable.nil.type list scala val list list val list list nothing list 建立帶初始值的列表 scala val list list aa b...