Scala 列表

Scala 列表

列表是一个包含不可更改的数据的集合。List在Scala中代表链接列表。

以下是 Scala 中列表和数组的区别点。

  • 在Scala中,列表是不可变的,而数组是可变的。
  • Lists代表了一个链接的列表,而数组是扁平的。

语法

val variable_name: List[type] = List(item1, item2, item3)
or
val variable_name = List(item1, item2, item3)

关于 Scala 中的 list 的一些重要观点

  • 在Scala的列表中,每个元素必须是相同的类型。
  • 在构造过程中,列表的实现在内部使用了可变的状态。
  • 在 Scala 中,list 被定义在 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 mylist1: List[String] = List("Geeks", "GFG",
                            "GeeksforGeeks", "Geek123")
        val mylist2 = List("C", "C#", "Java", "Scala",
                                        "PHP", "Ruby")
  
        // Display the value of mylist1
        println("List 1:")
        println(mylist1)
  
        // Display the value of mylist2 using for loop
        println("\nList 2:")
        for(mylist<-mylist2)
        {
            println(mylist)
        }
    }
}

输出:

List 1:
List(Geeks, GFG, GeeksforGeeks, 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中可以对list进行的三种基本操作。

  1. 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
  1. 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)
  1. isEmpty: 如果列表为空,该方法返回真,否则返回假。

语法:

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中创建一个统一列表

在Scala中可以使用List.fill()方法来创建统一列表。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中颠倒列表顺序

在Scala中可以使用List.reverse方法来反转列表的顺序。List.reverse方法可以用来逆转列表中的所有元素。

语法

list.reverse //used to reverse list in 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)

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程