文章目录
- Seq序列
 - 1.构建集合
 - 2.List集合元素拼接&&集合拼接
 - 3.可变Seq&&List
 - 3.1 ListBuffer创建
 - 3.2 增删改查
 - 3.3 相互转化
 
- Appendix
 - 1.Scala起别名
 - 2.Seq底层
 - 3.关于运算符操作+: :+
 - 4.空集合的表示
 
 
 
Seq序列
–Seq表示有序,数据可重复的集合
1.构建集合
//    1.构建Seq
val seq = Seq(1, 2, 3, 4)
val list = List(1, 1, 3, 4)
println(seq) //List(1, 2, 3, 4)
println(list) //List(1, 1, 3, 4)
list :+ 10 //不可变集合,加了没用
println(list :+ 10) //List(1, 1, 3, 4, 10)
//    --增量式创建List
val list2 = 1 :: 2 :: 3 :: 4 :: List()
println(list2) //List(1, 2, 3, 4)
//    简化
val list3 = 1 :: 2 :: 3 :: 4 :: Nil
 
2.List集合元素拼接&&集合拼接
//    2.List集合添加数据 :: 和 :::
    100::220::list3
    println(list3)    //List(1, 2, 3, 4)    不变集合不发生任何改变
    var list9 =  100::220::list3
    println(list9)    //List(100, 220, 1, 2, 3, 4)
    var list10 = list9:: list     //::表示将冒号的左边当作一个元素添加到右边的集合
    println(list10)   //List(List(100, 220, 1, 2, 3, 4), 1, 1, 3, 4)
    var list10_ = list9::: list   //:::表示将集合左边的数据倒入集合右边(头插)
    println(list10_)    //List(100, 220, 1, 2, 3, 4, 1, 1, 3, 4)
 
3.可变Seq&&List
集合创建,使用apply方法,且请注意使用的是ListBuffer
增删改差
相互转化
toBuffer,toList
 
3.1 ListBuffer创建
注意:没有SeqBuffer
//1.集合创建,使用apply方法
val value = ListBuffer(1, 2, 3, 4)
 
3.2 增删改查
//    2.增删改差
    value.append(999)
    value.insert(0,-999)
    value.update(1,-999)
    value.appendAll(ListBuffer(8,7,6))
    println(value)    //ListBuffer(-999, -999, 2, 3, 4, 999, 8, 7, 6)
    value.remove(0,2)  //删除两个-999
    println(value)    //ListBuffer(2, 3, 4, 999, 8, 7, 6)
 
3.3 相互转化
toList()
toBuffer()
 
Appendix
1.Scala起别名
type JavaHsahMap = java.util.HashMap[String,String]
 
也就是将java.util.HashMap[String,String]起别名为JavaHashMap
起别名关键字type
2.Seq底层
scala中Seq是一个特质trait,无法直接构建对象,所以底层采用的是List集合


由于底层关系,上述两种写法都可以
3.关于运算符操作+: :+
此类运算符都是表示集合从:端进行+操作
例如:
list :+ 10
10 +: list	
List(1, 1, 3, 4, 10)
 
4.空集合的表示
List()
Nil
//二者等价
                


















