我的Scala之路(1):列表List操作

时间:2022-03-24 03:34:03

List() 或 Nil

空 List

List("Cool", "tools", "rule)

创建带有三个值"Cool","tools"和"rule"的新 List[String]

val thrill = "Will"::"fill"::"until"::Nil

创建带有三个值"Will","fill"和"until"的新 List[String]

List("a", "b") ::: List("c", "d")

叠加两个列表(返回带"a", "b", "c"和"d"的新 List[String])

thrill(2)

返回在 thrill 列表上索引为 2(基于 0)的元素(返回"until")

thrill.count(s => s.length == 4)

计算长度为 4 的 String 元素个数(返回 2)

thrill.drop(2)

返回去掉前 2 个元素的 thrill 列表(返回 List("until"))

thrill.dropRight(2)

返回去掉后 2 个元素的 thrill 列表(返回 List("Will"))

thrill.exists(s => s == "until")

判断是否有值为"until"的字串元素在 thrill 里(返回 true)

thrill.filter(s => s.length == 4)

依次返回所有长度为 4 的元素组成的列表(返回 List("Will","fill"))

thrill.forall(s => s.endsWith("1"))

辨别是否 thrill 列表里所有元素都以"l"结尾(返回 true)

thrill.foreach(s => print(s))

对 thrill 列表每个字串执行 print 语句("Willfilluntil")

thrill.foreach(print)

与前相同,不过更简洁(同上)

thrill.head

返回 thrill 列表的第一个元素(返回"Will")

thrill.init

返回 thrill 列表除最后一个以外其他元素组成的列表(返回List("Will", "fill"))

thrill.isEmpty

说明 thrill 列表是否为空(返回 false)

thrill.last

返回 thrill 列表的最后一个元素(返回"until")

thrill.length

返回 thrill 列表的元素数量(返回 3)

thrill.map(s => s + "y")

返回由 thrill 列表里每一个 String 元素都加了"y"构成的列表(返回 List("Willy", "filly", "untily"))

thrill.mkString(", ")

用列表的元素创建字串(返回"will, fill, until")

thrill.remove(s => s.length == 4)

返回去除了 thrill 列表中长度为 4 的元素后依次排列的元素列表(返回 List("until"))

thrill.reverse

返回含有 thrill 列表的逆序元素的列表(返回 List("until","fill", "Will"))

thrill.sort((s, t) =>s.charAt(0).toLowerCase <t.charAt(0).toLowerCase)

返回包括 thrill 列表所有元素,并且第一个字符小写按照字母顺序排列的列表(返回 List("fill", "until", "Will"))

thrill.tail

返回除掉第一个元素的 thrill 列表(返回 List("fill","until"))