Spark 3.x大数据分析实战(视频教学版)
上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)