🌺Scala——列表
列表——类似数组(共享相同类型)的不可变的对象数列
不可变列表
(1)定义格式
copycopyvar/val 变量名:List[元素类型]=List[元素类型](值1,值2,值3,值...)
例
copycopyvar l:List[String]=List("abc","def","lmn")
var m=List("abc","def","lmn")
println(l)
println(m)
输出:
List(abc, def, lmn)
List(abc, def, lmn)
(2)定义空列表
copycopyvar empty:List[Nothing]=List()
(3)返回列表的第一个元素
copycopyvar a= List("abc","def","lmn")
println(a.head)
输出:
abc
(4)返回列表除了第一个元素之外的其他元素
copycopyvar a= List("abc","def","lmn")
println(a.tail)
输出:
List(def, lmn)
(5)addString()方法——addString(b:StringBuilder):StringBuilder
copycopyvar a= new StringBuilder("abc")
var b= List(1,-1,2,3)
var c= b.addString(a,"5")——使用第二个参数作为分隔符,将每个b中元素连接到参数a后边时进行分隔
print(c)
输出:
abc15-15253
(6)drop(n)去掉前n个元素
dropRight(n)去掉最后n个元素
distinct()去掉重复的元素
可变列表——需导入import scala.collection.mutable.ListBuffer包
(1)定义格式
copycopyvar 变量名:ListBuffer[类型]=new ListBuffer[类型]()
var 变量名= new ListBuffer[类型]()
例
copycopyvar a= new ListBuffer[Int]() //创建一个空的整数元素可变列表
(2)定义初始化
例
copycopyvar b:ListBuffer[Int] = ListBuffer(2,3,4) //定义一个有三个整形元素的可变列表,初值为2,3,4
(3)常见操作
a.添加元素+=
copycopyvar a= new ListBuffer[Int]()
a++3
println(a)
输出:
ListBuffer(3)
b.引用一个元素——下标从0开始
copycopyvar b= ListBuffer("m","l","n")
println(b(2))
输出:
n
c.删除元素-=
copycopyvar b= ListBuffer(2,3,4,5)
b-=3
println(b)
输出:
ListBuffer(2, 4, 5)
d.添加列表++=
copycopyvar a= new ListBuffer[Int]()
var b= ListBuffer(2,3,4)
a+=9
a+=16
b++=a
println(b)
输出:
ListBuffer(2, 3, 4, 9, 16)
e.删除多个元素--=
copycopyvar b=ListBuffer(1,2,3,4,5,6)
b--=List(4,6,7)
println(b)
输出:
ListBuffer(1, 2, 3, 5)
d.转换为数组——toArray
copycopyvar a= ListBuffer(1,2,3,4,5,6)
var b= a.toArray
println(a)
println(b)
println(b.length)
输出:
ListBuffer(1, 2, 3, 4, 5, 6)
[I@2f4d3709
6