上QQ阅读APP看书,第一时间看更新
1.4.2 List
Scala中的List分为不可变List和可变List,默认为不可变List。不可变List也可以增加元素,但实际上生成了一个新的List,原List不变。
1.不可变List
例如,创建一个Int类型的List,名为nums,代码如下:
val nums: List[Int] = List(1, 2, 3, 4)
在该List的头部追加一个元素1,生成一个新的List,代码如下:
val nums2=nums.+:(1)
在该List的尾部追加一个元素5,生成一个新的List,代码如下:
val nums3=nums:+5
List也支持合并操作,例如,将两个List合并为一个新的List,代码如下:
val nums1: List[Int] = List(1, 2, 3) val nums2: List[Int] = List(4, 5, 6) val nums3=nums1++:nums2 println(nums3)
输出结果如下:
List(1, 2, 3, 4, 5, 6)
此外,常用的还有二维List:
//二维List val dim: List[List[Int]] = List( List(1, 0, 0), List(0, 1, 0), List(0, 0, 1) )
2.可变List
可变List需要使用scala.collection.mutable.ListBuffer类。
例如,创建一个可变List并初始化数据:
val listBuffer= ListBuffer(1, 2, 3)
或者创建时不初始化数据,而是通过后面添加元素:
val listBuffer= new ListBuffer[Int]() listBuffer+=1 listBuffer+=2 listBuffer+=3
也可以将两个List进行合并:
val listBuffer= ListBuffer(1, 2, 3) val listBuffer3= ListBuffer(4, 5, 6) println(listBuffer++listBuffer3)
输出结果为:
ListBuffer(1, 2, 3, 4, 5, 6)