列表是相同数据类型的不可变数据的集合。在Scala中,该列表表示链接数据结构。
在Scala中创建新列表的语法,
val list_name = List(item1, item2, item3...)
在Scala中,我们可以将两个列表合并/合并为一个列表。这会将第二个列表附加在第一个列表的末尾。
在可变列表的情况下,您必须使用第三个变量来存储合并列表。否则,我们将不得不使用ListBufferClass(mutable lists)将结果存储在同一变量中。
Scala编程语言提供了三种不同的方式来合并Scala中的列表,
使用++方法
使用:::方法
使用concat()方法
++方法用于连接两个列表。它将第二个列表追加到第一个列表的末尾。++方法也可以应用于ListBuffer类,即可变类。
语法:
val list3 = list1 ++ list2
程序使用++方法合并Scala中的两个不可变列表
object MyClass {
    def main(args: Array[String]) {
        val list1 = List("C", "C++", "Java")
        val list2 = List("Scala", "Python", "C#")
        
        println("list1: " + list1)
        println("list2: " + list2)
        
        println("合并list1和list2 ")
        
        val list3 = list1 ++ list2
        
        println("合并列表: " + list3)
    }
}输出结果
list1: List(C, C++, Java) list2: List(Scala, Python, C#) 合并list1和list2 合并列表: List(C, C++, Java, Scala, Python, C#)
程序使用++方法合并Scala中的两个可变列表(ListBuffer)
import scala.collection.mutable.ListBuffer
object MyClass {
    def main(args: Array[String]) {
        var list1 = ListBuffer("C", "C++", "Java")
        var list2 = ListBuffer("Scala", "Python", "C#")
        println("list1: " + list1)
        println("list2: " + list2)
        println("合并list1和list2 ")
        list2 = list1 ++ list2
        println("合并列表: " + list2)
    }
}输出结果
list1: ListBuffer(C, C++, Java) list2: ListBuffer(Scala, Python, C#) 合并list1和list2 合并列表: ListBuffer(C, C++, Java, Scala, Python, C#)
:::方法还用于连接Scala中的两个列表。
语法:
val list3 = list1 + list2
程序使用++方法合并Scala中的两个不可变列表
object MyClass {
    def main(args: Array[String]) {
        val list1 = List("C", "C++", "Java")
        val list2 = List("Scala", "Python", "C#")
        println("list1: " + list1)
        println("list2: " + list2)
        println("合并list1和list2 ")
        val list3 = list1::: list2
        println("合并列表: " + list3)
    }
}输出结果
list1: List(C, C++, Java) list2: List(Scala, Python, C#) 合并list1和list2 合并列表: List(C, C++, Java, Scala, Python, C#)
:::方法不能应用于ListBuffer类。
concat()方法合并两个列表该concat()方法是List类,用于连接Scala中的两个列表。
语法:
val list3 = list.concat(list1, list2)
程序使用concat()方法在Scala中合并两个不可变列表
import scala.collection.mutable.ListBuffer
object MyClass {
    def main(args: Array[String]) {
        var list1 = ListBuffer("C", "C++", "Java")
        var list2 = ListBuffer("Scala", "Python", "C#")
        println("list1: " + list1)
        println("list2: " + list2)
        println("合并list1和list2 ")
        val list3 = List.concat(list1, list2)
        println("合并列表: " + list3)
    }
}输出结果
list1: ListBuffer(C, C++, Java) list2: ListBuffer(Scala, Python, C#) 合并list1和list2 合并列表: List(C, C++, Java, Scala, Python, C#)