List
- :+运算符表示在列表的最后增加数据
- +:运算符表示在列表的最前面增加数据
- 符号::表示向集合中 新建集合添加元素。
- 运算时,集合对象一定要放置在最右边,
- 运算规则,从右向左。
- ::: 运算符是将集合中的每一个元素加入到集合中去
object ListDemo01 {
def main(args: Array[String]): Unit = {
//说明
//1. 在默认情况下 List 是scala.collection.immutable.List,即不可变
//2. 在scala中,List就是不可变的,如需要使用可变的List,则使用ListBuffer
//3. List 在 package object scala 做了 val List = scala.collection.immutable.List
//4. val Nil = scala.collection.immutable.Nil // List()
val list01 = List(1, 2, 3, "Hello") //创建时,直接分配元素
println(list01)
val list02 = Nil //空集合
println(list02)
//访问List的元素
val value1 = list01(1) // 1是索引,表示取出第2个元素.
println("value1=" + value1) // 2
println("-------------list追加元素后的效果-----------------")
//通过 :+ 和 +: 给list追加元素(本身的集合并没有变化)
var list1 = List(1, 2, 3, "abc")
// :+运算符表示在列表的最后增加数据
val list2 = list1 :+ 4 // (1,2,3,"abc", 4)
println(list1) //list1没有变化 (1, 2, 3, "abc"),说明list1还是不可变
println(list2) //新的列表结果是 [1, 2, 3, "abc", 4]
val list3 = 10 +: list1 // (10,1, 2, 3, "abc")
println("list3=" + list3)
//:: 符号的使用
val list4 = List(1, 2, 3, "abc")
//说明 val list5 = 4 :: 5 :: 6 :: list4 :: Nil 步骤
//1. List()
//2. List(List(1, 2, 3, "abc"))
//3. List(6,List(1, 2, 3, "abc"))
//4. List(5,6,List(1, 2, 3, "abc"))
//5. List(4,5,6,List(1, 2, 3, "abc"))
val list5 = 4 :: 5 :: 6 :: list4 :: Nil
println("list5=" + list5)
//说明 val list6 = 4 :: 5 :: 6 :: list4 ::: Nil 步骤
//1. List()
//2. List(1, 2, 3, "abc")
//3. List(6,1, 2, 3, "abc")
//4. List(5,6,1, 2, 3, "abc")
//5. List(4,5,6,1, 2, 3, "abc")
val list6 = 4 :: 5 :: 6 :: list4 ::: Nil
println("list6=" + list6)
}
}
ListBuffer
object ListBufferDemo01 {
def main(args: Array[String]): Unit = {
//创建ListBuffer
val lst0 = ListBuffer[Int](1, 2, 3)
//如何访问
println("lst0(2)=" + lst0(2)) // 输出 lst0(2)= 3
for (item <- lst0) { // 遍历,是有序
println("item=" + item)
}
//动态的增加元素,lst1就会变化, 增加一个一个的元素
val lst1 = new ListBuffer[Int] //空的ListBuffer
lst1 += 4 // lst1 (4)
lst1.append(5) // list1(4,5)
//
lst0 ++= lst1 // lst0 (1, 2, 3,4,5)
println("lst0=" + lst0)
val lst2 = lst0 ++ lst1 // lst2(1, 2, 3,4,5,4,5)
println("lst2=" + lst2)
val lst3 = lst0 :+ 5 // lst0 不变 lst3(1, 2, 3,4,5,5)
println("lst3=" + lst3)
println("=====删除=======")
println("lst1=" + lst1)
lst1.remove(1) // 表示将下标为1的元素删除
for (item <- lst1) {
println("item=" + item) //4
}
}
}
网友评论