创建列表
val days = List("Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday")
val days1 = "Sunday"::"Monday"::"Tuesday"::"Wednesday"::"Thursday"::"Friday"::"Saturday"::Nil
days: List[String] = List(
"Sunday",
"Monday",
"Tuesday",
"Wednesday",
"Thursday",
"Friday",
"Saturday"
)
days1: List[String] = List(
"Sunday",
"Monday",
"Tuesday",
"Wednesday",
"Thursday",
"Friday",
"Saturday"
)
创建空列表
val l = Nil
l: collection.immutable.Nil.type = List()
val l1 = List()
l1: List[Nothing] = List()
用“:::”叠加创建新列表
val wow = l ::: List("WOOOW", "WOOOOW")
wow: List[String] = List("WOOOW", "WOOOOW")
通过索引获取列表值
wow(1)
res12: String = "WOOOOW"
val l = "Hello" :: "Hi" :: "Hah" :: "WOW" :: "WOOW" :: Nil
l: List[String] = List("Hello", "Hi", "Hah", "WOW", "WOOW")
获取值长度为3的元素数目
l.count(s => s.length == 3)
res16: Int = 2
返回去掉l头两个元素的新列表
l.drop(2)
l
res18_0: List[String] = List("Hah", "WOW", "WOOW")
res18_1: List[String] = List("Hello", "Hi", "Hah", "WOW", "WOOW")
返回去掉l后两个元素的新列表
l.dropRight(2)
l
res19_0: List[String] = List("Hello", "Hi", "Hah")
res19_1: List[String] = List("Hello", "Hi", "Hah", "WOW", "WOOW")
判断l是否存在某个元素
l.exists(s => s == "Hah")
l
res23_0: Boolean = true
res23_1: List[String] = List("Hello", "Hi", "Hah", "WOW", "WOOW")
滤出长度为3的元素
l.filter(s => s.length == 3)
l
res22_0: List[String] = List("Hah", "WOW")
res22_1: List[String] = List("Hello", "Hi", "Hah", "WOW", "WOOW")
判断所有元素是否以“H”打头
l.forall(s => s.startsWith("H"))
res24: Boolean = false
判断所有元素是否以“H”结尾
l.forall(s => s.endsWith("W"))
res29: Boolean = false
打印每个元素
l.foreach(s => print(s + ' '))//这里用的是foreach
Hello Hi Hah WOW WOOW
取出第一个元素
l.head
res34: String = "Hello"
取最后一个元素
l.last
res35: String = "WOOW"
剔除最后一个元素,生成新列表
l
l.init
l
l.init
剔除第一个元素,生成新列表
l
l.tail
res38_0: List[String] = List("Hello", "Hi", "Hah", "WOW", "WOOW")
res38_1: List[String] = List("Hi", "Hah", "WOW", "WOOW")
判断列表是否为空
l.isEmpty
res39: Boolean = false
获取列表长度
l.length
res40: Int = 5
修改每个元素,再反转每个元素,形成新的列表
l.map(s => {val s1 = s + " - 01";s1.reverse})
res41: List[String] = List("10 - olleH", "10 - iH", "10 - haH", "10 - WOW", "10 - WOOW")
生成用逗号隔开的字符串
l.mkString(",")
res42: String = "Hello,Hi,Hah,WOW,WOOW"
反序生成新列表
l.reverse
res43: List[String] = List("WOOW", "WOW", "Hah", "Hi", "Hello")
按字母递增排序
val l = List("aa","zz","cc","bb","ab","da")
l.sortWith(_.compareTo(_) < 0)
l: List[String] = List("aa", "zz", "cc", "bb", "ab", "da")
res44_1: List[String] = List("aa", "ab", "bb", "cc", "da", "zz")
本文介绍Scala中列表的各种操作方法,包括创建、查询、修改等基本功能,并提供了丰富的示例代码来展示如何使用列表。

4427

被折叠的 条评论
为什么被折叠?



