列表常用的方法:
//列表的常用操作
// 定义一个列表,包含一个元素
// 定义一个列表
val a35=ListBuffer(1,2,3,4)
val a36=ListBuffer(5,6,7,8)
println(a35.isEmpty) //通过isEmpty判断是否为空
println(a35++a36) //将两个列表进行拼接 ++
// 获得列表的首个元素和剩余部分
// 定义一个列表,包含以下几个元素 ,用head方法获取列表的首个元素
// 使用tail方法获取除第一个元素之外的元素,它也是一个列表
println(a35.head)
println(a35.tail)
// 反转列表
// 使用reverse 方法将列表的元素进行反转
println(a35.reverse)
// 获取列表的前缀和后缀
// 使用take方法获取前缀(前三个元素)
// 使用drop方法获取后缀(除前三个以外的元素)
println(a35.take(2))//参数表示获取几个元素的前缀
println(a35.drop(3))//获得后几个元素的后缀
// 扁平化操作
// 扁平化表示将列表中的列表中的所有元素放到一个列表中
val a37=ListBuffer(1,2,3)
val a38=ListBuffer(4,5,6)
val a39=ListBuffer(7,8,9)
val a40=ListBuffer(a37,a38,a39)
a40.flatten
println(a40)
println(a40.flatten)
// 拉链和拉开
// 拉链:使用zip将两个列表,组合成一个元素为元素为元组的列表
// 拉开:将一个包含元组的列表,拆分成包含两个列表的元组
// 拉链操作
val a41=a37.zip(a38)
println(a41)
a41.zip(a39)
println(a41.zip(a39))
// 拉开操作:
println(a41.unzip)
// 转化字符串 将List列表转化成字符串
a41.toString
println(a41.toString)
println(a38.toString)
// 生成字符串 使用mkString方法,可以将元素以分隔符拼接起来,默认没有分割符
a38.mkString
println(a38.mkString)
println(a38.mkString(":"))
// 并集
val a42=ListBuffer(1,2,3,4,5)
val a43=ListBuffer(3,4,5,6,7)
// 使用union操作,可以获取这两个列表的并集
println(a42.union(a43))//取并集但不会去重
println(a42.union(a43).distinct)//取并集并去重
// 交集
println(a42.intersect(a43))//取交集
// 取差集
println(a42.diff(a43)) //即a42存在,但a43中不存在的值
集合:
// Set 代表没有重复元素的集合,Set具有以下两个性质
// 两个原则: 元素不重复 , 不保证插入顺序
// 在Set集合中也有两种:一种为不可变类型集合,另一种是可变集
// 不可变集
val a44=Set[Int]();
val a45=Set(1,2,4,5,6,2,3,8)
println(a45) //元素不重复,且不保证插入顺序
// 不可变集合的基本操作 (因为不可变,所以不能追加,即不能使用 += -=)
a45.size //获取值的大小
println(a45.size)
a45+88 //添加操作
println(a45+88)
a45-4
println(a45-4)
val a46=Set(8,5,6,9,6)
a45++a46 //拼接两个集合,生成一个Set
println(a45++a46)
val a47=ListBuffer(1,2,3,4,5,55,66)
a45++a47
println(a45++a47)
for(i<-a45) println(i) //遍历一个集合
// 可变集(可追加)
// 创建一个可变集和创建一个不可变集的方式是一样的,只不过提前要导入一个可变集类
// import scala.collection.mutable.Set
val a48=mutable.Set(1,2,3,4)
a48+=5
println(a48)//追加一个元素
a48-=2
println(a48)//删除一个元素