Scala列表用法完全指南(示例代码)

列表是包含不可变数据的集合。List表示Scala中的链表。Scala List类保存一个有序的、线性的项列表。
以下是Scala中列表和数组之间的区别点:

  • 列表是不可变的, 而数组在Scala中是可变的。
  • 列表表示一个链表, 而数组是平面的。
语法如下:
val variable_name: List[type] = List(item1, item2, item3) or val variable_name = List(item1, item2, item3)

有关Scala中的列表的一些重要点:
  • 在Scala列表中, 每个元素必须具有相同的类型。
  • 列表的实现在构造期间在内部使用可变状态。
  • 在Scala中, 列表在scala.collection.immutable包下定义。
  • 列表具有各种添加, 添加, 最大, 最小等方法, 以增强列表的使用率。
例子:
// Scala program to print immutable lists import scala.collection.immutable. _// Creating object object GFG { // Main method def main(args : Array[String]) { // Creating and initializing immutable lists val mylist 1 : List[String] = List( "Geeks" , "GFG" , "lsbin" , "Geek123" ) val mylist 2 = List( "C" , "C#" , "Java" , "Scala" , "PHP" , "Ruby" )// Display the value of mylist1 println( "List 1:" ) println(mylist 1 )// Display the value of mylist2 using for loop println( "\nList 2:" ) for (mylist < -mylist 2 ) { println(mylist) } } }

输出如下:
List 1: List(Geeks, GFG, lsbin, Geek123)List 2: C C# Java Scala PHP Ruby

在上面的示例中, 我们仅打印两个列表。
例子:
// Scala program to illustrate the // use of empty list import scala.collection.immutable. _// Creating object object GFG { // Main method def main(args : Array[String]) {// Creating an Empty List. val emptylist : List[Nothing] = List() println( "The empty list is:" ) println(emptylist) } }

输出如下:
The empty list is: List()

上面的示例显示列表是否为空。
例子:
// Scala program to illustrate the // use of two dimensional list import scala.collection.immutable. _// Creating object object GFG { // Main method def main(args : Array[String]) { // Creating a two-dimensional List. val twodlist : List[List[Int]] = List( List( 1 , 0 , 0 ), List( 0 , 1 , 0 ), List( 0 , 0 , 1 ) ) println( "The two dimensional list is:" ) println(twodlist) } }

输出如下:
The two dimensional list is: List(List(1, 0, 0), List(0, 1, 0), List(0, 0, 1))

列表的基本操作
以下是可以在scala中的列表上执行的三个基本操作:
head: head方法返回的列表的第一个元素。
语法如下:
list.head //returns head of the list

例子:
// Scala program of a list to // perform head operation import scala.collection.immutable. _// Creating object object GFG { // Main method def main(args : Array[String]) { // Creating a List. val mylist = List( "C" , "C#" , "Java" , "Scala" , "PHP" , "Ruby" ) println( "The head of the list is:" ) println(mylist.head) } }

输出如下:
The head of the list is: C

tail:此方法返回一个列表, 其中包含除第一个元素外的所有元素。
语法如下:
list.tail //returns a list consisting of all elements except the first

例子:
// Scala program to perform // tail operation of a list import scala.collection.immutable. _// Creating object object GFG { // Main method def main(args : Array[String]) { // Creating a List. val mylist = List( "C" , "C#" , "Java" , "Scala" , "PHP" , "Ruby" ) println( "The tail of the list is:" ) println(mylist.tail) } }

输出如下:
The tail of the list is: List(C#, Java, Scala, PHP, Ruby)

isEmpty:如果列表为空, 则此方法返回true, 否则返回false。
语法如下:
list.isEmpty //returns true if the list is empty otherwise false.

例子:
// Scala program to perform // isEmpty operation of a list import scala.collection.immutable. _// Creating object object GFG { // Main method def main(args : Array[String]) {// Creating a List. val mylist = List( "C" , "C#" , "Java" , "Scala" , "PHP" , "Ruby" ) println( "List is empty or not:" ) println(mylist.isEmpty) } }

输出如下:
List is empty or not: false

如何在Scala中创建统一列表?
可以使用List.fill()方法在Scala中创建统一列表。 List.fill()方法创建一个列表, 并用零个或多个元素副本填充该列表。
语法如下:
List.fill() //used to create uniform list in Scala

例子:
// Scala program to creating a uniform list import scala.collection.immutable. _// Creating object object GFG { // Main method def main(args : Array[String]) { // Repeats Scala three times. val programminglanguage = List.fill( 3 )( "Scala" ) println( "Programming Language : " + programminglanguage )// Repeats 2, 10 times. val number = List.fill( 8 )( 4 ) println( "number : " + number) } }

输出如下:
Programming Language : List(Scala, Scala, Scala) number : List(4, 4, 4, 4, 4, 4, 4, 4)

如何在Scala中反转列表顺序?
可使用List.reverse方法在Scala中颠倒列表顺序。 List.reverse方法可用于反转列表的所有元素。
语法如下:
list.reverse //used to reverse list in Scala

【Scala列表用法完全指南(示例代码)】例子:
// Scala program of reversing a list order import scala.collection.immutable. _// Creating object object GFG { // Main method def main(args : Array[String]) { val mylist = List( 1 , 2 , 3 , 4 , 5 ) println( "Original list:" + mylist)// reversing a list println( "Reverse list:" + mylist.reverse) } }

输出如下:
Original list:List(1, 2, 3, 4, 5) Reverse list:List(5, 4, 3, 2, 1)

    推荐阅读