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

2022-09-21 10:15:07 字數 2649 閱讀 5370

把scala list的幾種常見方法梳理彙總如下,日常開發場景基本上夠用了。

建立列表

scala> val days = list("sunday", "monday", "tuesday", "wednesday", "thursday", "friday", "saturday")

days: list[string] = list(sunday, monday, tuesday, wednesday, thursday, friday, saturday)

建立空列表

scala> val l = nil

l: scala.collection.immutable.nil.type = list()

scala> val l = list()

l: list[nothi程式設計客棧ng] = list()

用字串建立列表

scala> val l = "hello" :: "hi" :: "hah" :: "wow" :: "woow" :: nil

l: list[string] = list(hello, hi, hah, wow, woow)

用「:::」疊加建立新列表

scala> val wow = l ::: list("wooow", "woooow")

wow: list[string] = list(hello, hi, hah, wow, woow, wooow, woooow)

通過索引獲取列表值

scala> l(3)

res0: string = wow

獲取值長度為3的元素數目

scala> l.count(s => s.length == 3)

res1: int = 2

返回去掉l頭兩個元素的新列表

scala> l.drop(2)

res2: list[string] = list(hah, wow, woow)

scala> l

res3: list[string] = list(hello, hi, hah, wow, woow)

返回去掉l後兩個元素的新列表

scala> l.dropright(2)

res5: list[string] = list(hello, hi, hah)

scala> l

res6: list[string] = list(hello, hi, hah, wow, woow)

判斷l是否存在某個元素

scala> l.exists(s => s == "hah")

res7: boolean = true

濾出長度為3的元素

scala> l.filter(s => s.length == 3)

res8: list[string] = list(hah, wow)

判斷所有元素是否程式設計客棧以「h」打頭

scala> l.forall(s => s.startswith("h"))

res10: boolean = false

判斷所有元素是否以「h」結尾

scala> l.forall(s => s.endswith("w"))

res11: boolean = false

列印每個元素

scala> l.foreach(s => print(s + ' '))

hello hi hah wow woow

取出第乙個元素

scala> l.head

res17: string = hello

取出最後乙個元素

scala> l.last

res20: string = woow

剔除最後乙個元素,生成新列表

scala> l.init

res18: list[string] = list(hello, hi, hah, wow)

剔除第乙個元素,生成新列表

scala> l.tail

res49: list[string] = list(hi, hah, wow, woow)

判斷列表是否為空

scala> l.isempty

res19: boolean = false

獲得列表長度

程式設計客棧scala> l.length

res21: int = 5

修改每個元素,再反轉每個元素形成新列表

scala> l.map(s => )

res29: list[string] = list(10 - olleh, 10 - ih, 10 - hah, 10 - wow, 10 - woow)

生成用逗號隔開的字串

scala> l.mkstring(", ")

res30: string = hello, hi, hah, wow, woow

反序生成新列表

scala> l.reverse

res41: list[string] = list(woow, wow, hah, hi, hello)

按字母遞增排序

sca> l.sortwith(_.compareto(_) < 0)

res48: list[string] = list(hah, hello, hi, woow, wow)

本文標題: scala常用list列表操作方法示例

本文位址:

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...

Scala入門 列表的常用操作

以下是列表常用的操作 示例 參考 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...

scala操作List函式

1.定義反轉函式 def rev t xs list t list t xs 2.列表排序 list t stor 3.列表歸併排序 原理 首先如果列表長度為零或僅有乙個元素,它就已經排好序的,因此可以不加改變的返回。長列表可以拆成兩個子列表,每個包含大概一半的原表元素。每個子列表採用堆排序函式的遞...