美文网首页
scalla List

scalla List

作者: 我本无常 | 来源:发表于2019-03-30 18:54 被阅读0次

创建list
var list1 = List(1,2,3)
println(list1.getClass.getName)
不可变的list
在list1前面使用0::创建一个list1,但是list1结果不变
一下都是在头部追加

0::list1;res5: List[Int] = List(0, 1, 2, 3)
res8: List[Int] = List(1, 2, 3)
scala> list1.::(0)
res10: List[Int] = List(0, 1, 2, 3)
scala> 0 +:list1
res11: List[Int] = List(0, 1, 2, 3)

list1是不可变的,但是可以基于list1进行操作产生新的list
在尾部追加

scala> list1 :+ 4
res12: List[Int] = List(1, 2, 3, 4)
scala> list1 ++: list2
res13: List[Int] = List(1, 2, 3, 5, 5, 6)
//两个list合并

创建可变的list
import scala.collection.mutable.ListBuffer
var list3= ListBuffer(1,3,4)
list追加元素,不会产生新的list

list3 += 4
list.append(3)
ar list4 = new ListBuffer[Int]()
list4: scala.collection.mutable.ListBuffer[Int] = ListBuffer()

scala> list4.append(8)

scala> list4.append(9)

scala> list3++list4//产生新的集合
res18: scala.collection.mutable.ListBuffer[Int] = ListBuffer(1, 3, 4, 4, 8, 9)
//也是新建一个list而不是增加元素
scala> list4 :+9
res19: scala.collection.mutable.ListBuffer[Int] = ListBuffer(8, 9, 9)
scala> list4
res20: scala.collection.mutable.ListBuffer[Int] = ListBuffer(8, 9)
 list4.map(_*10)
res22: scala.collection.mutable.ListBuffer[Int] = ListBuffer(80, 90)

scala> list4.map{println("hello");_*10}
hello
res27: scala.collection.mutable.ListBuffer[Int] = ListBuffer(80, 90)

scala> list4.map{e=>println("hello");e*10}
hello
hello
res28: scala.collection.mutable.ListBuffer[Int] = ListBuffer(80, 90)

相关文章

网友评论

      本文标题:scalla List

      本文链接:https://www.haomeiwen.com/subject/ynusbqtx.html