把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.列表歸併排序 原理 首先如果列表長度為零或僅有乙個元素,它就已經排好序的,因此可以不加改變的返回。長列表可以拆成兩個子列表,每個包含大概一半的原表元素。每個子列表採用堆排序函式的遞...