Skip to content
Related Articles
Get the best out of our app
GFG App
Open App
geeksforgeeks
Browser
Continue

Related Articles

Scala Lists

Improve Article
Save Article
Like Article
Improve Article
Save Article
Like Article

A list is a collection which contains immutable data. List represents linked list in Scala. The Scala List class holds a sequenced, linear list of items.
Following are the point of difference between lists and array in Scala:

  • Lists are immutable whereas arrays are mutable in Scala.
  • Lists represents a linked list whereas arrays are flat.

Syntax:

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

Some important points about list in Scala:

  • In a Scala list, each element must be of the same type.
  • The implementation of lists uses mutable state internally during construction.
  • In Scala, list is defined under scala.collection.immutable package.
  • A List has various methods to add, prepend, max, min, etc. to enhance the usage of list.

Example:




// 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)
        }
    }
}


Output:

List 1:
List(Geeks, GFG, GeeksforGeeks, Geek123)

List 2:
C
C#
Java
Scala
PHP
Ruby

In above example simply we are printing two lists.
Example:




// 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)
    }
}


Output:

The empty list is:
List()

Above example shows that the list is empty or not.
Example:




// 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)
    }
}


Output:

The two dimensional list is:
List(List(1, 0, 0), List(0, 1, 0), List(0, 0, 1))
Basic Operations on Lists

The following are the three basic operations which can be performed on list in scala:

  1. head: The first element of a list returned by head method.
    Syntax:

    list.head //returns head of the list
    

    Example:




    // 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)
        }
    }    
         

    
    

    Output:

    The head of the list is:
    C
    
  2. tail: This method returns a list consisting of all elements except the first.
    Syntax:

    list.tail //returns a list consisting of all elements except the first
    

    Example:




    // 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)
        }
    }

    
    

    Output:

    The tail of the list is:
    List(C#, Java, Scala, PHP, Ruby)
    
  3. isEmpty: This method returns true if the list is empty otherwise false.
    Syntax:

    list.isEmpty //returns true if the list is empty otherwise false.
    

    Example:




    // 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)
        }
    }    

    
    

    Output:

    List is empty or not:
    false
    
How to create a uniform list in Scala

Uniform List can be created in Scala using List.fill() method. List.fill() method creates a list and fills it with zero or more copies of an element.
Syntax:

List.fill() //used to create uniform list in Scala 

Example:




// 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)
    }
}    


Output:

Programming Language : List(Scala, Scala, Scala)
number : List(4, 4, 4, 4, 4, 4, 4, 4)
Reversing List Order in Scala

The list order can be reversed in Scala using List.reverse method. List.reverse method can be used to reverse all elements of the list.
Syntax:

list.reverse //used to reverse list in Scala 

Example:




// 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)
    }
}
  


Output:

Original list:List(1, 2, 3, 4, 5)
Reverse list:List(5, 4, 3, 2, 1)

My Personal Notes arrow_drop_up
Last Updated : 14 Mar, 2019
Like Article
Save Article
Similar Reads