Scala – List

  • date 8th October, 2020 |
  • by Prwatech |
  • 0 Comments

Creating a List in Scala

List:

All the elements of a list have the same type but there are two important differences. First, lists are immutable, which means elements of a list cannot be changed by assignment. Second, lists represent a linked list whereas arrays are flat.

In Scala, lists are immutable collections that represent ordered sequences of elements. To create a list in Scala, you can use the List companion object to instantiate a new list with specified elements. Lists in Scala are implemented as linked lists, where each element is stored in a node that points to the next element in the list.

Here's how you can create a list in Scala:

// Creating a list of integers
val numbers: List[Int] = List(1, 2, 3, 4, 5)

// Creating a list of strings
val fruits: List[String] = List("apple", "banana", "orange")

 

Run the following commands:

·        By default immutable

 They do not maintain order

·        List can’t be accessed by their Index.

1. Example program to show usage of the basic List operational methods:

package Collection
object List1 {

defmain(args: Array[String]) {
val lang1 = "Python" :: ("Machine Learning" ::( "Sql":: 

1Nil

))
val num = 

Nil println

( "Best of Programming Language : " + lang1.head )

println

( "Other Programming Language : " + lang1.tail )

2println

( "Check if Set is empty : " + lang1.isEmpty )

println

( "Check if num is empty : " + num.

isEmpty

)
  }
}

2. Example program to show usage of the List with respect to concatenation:

package Collection
object List2 {

defmain(args: Array[String]) {

val lang1 = "Python" :: ("DataScience"::("Sql":: 

2Nil

))

val lang2 = "Hadoop" :: ("Scala" :: ("AWS":: 

Nil

))

// using two Lists with ::: as operator

var lang = lang1 ::: lang2

println

( "lang1 ::: lang2 : " + lang )

// using two Lists with Set .:::() method

lang = lang1.:::(lang2)

3println

( "lang1.:::(lang2) : " + lang )

// passing two lists as arguments

lang = 

List

.concat(lang1, lang2)

println

( "List.concat(lang1, lang2) : " + lang  )

  }
}

3. Program to create a list with zero or more copies of the same element using List.fill() method.

package Collection
object List3 {
defmain(args: Array[String]) {

// Repeatedly prints PrwaTech four times.

val center = 

List

.fill(4)("PrwaTech")

println

( "Learning Center : " + center )

// Repeatedly prints 6, 12 times.

val num = 

List

.fill(12)(6)

println

( "num : " + num  )
  }
}

4. Program to Sort and reverse all elements of the list.

package Collection
object List4 {

defmain(args: Array[String]) {

val lang1 = "Python" :: ("Hadoop" :: ("DataScience" :: ("Sql" :: ("AWS" :: ("Scala" :: 

Nil

)))))

val lang2 = lang1.sorted

println

("List Before Sorting : " + lang1)

3println

("List After Sorting : " + lang2)

println

("Before reversing Lang List : " + lang2)

4println

("After reversing Lang List : " + lang2.reverse)
  }
}

Creating a List in Scala

Quick Support

image image