Scala – Collections

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

Guide to to Scala Collections

 

Scala consists of rich set of collection library. Collections consist of list of items. Those items can be sequenced in a way like Array, List, Tuple, Option, Map, iterator, sets etc.

 

Scala collections provide a rich set of data structures and operations for managing and manipulating data efficiently. Understanding Scala collections is fundamental for developing scalable and functional applications in Scala. Scala collections can be broadly categorized into mutable and immutable collections, each serving specific use cases based on mutability requirements.

Immutable collections in Scala, such as List, Set, Map, and others, are thread-safe and cannot be modified after creation. Operations on immutable collections return new collections without altering the original, promoting functional programming principles and ensuring predictable behavior.

Mutable collections provide mutability and direct modification capabilities, suitable for performance-critical scenarios where in-place modifications are necessary.

Guide to to Scala Collections

1) Array

a)

 
val n = new Array[Int](5) scala> val st = new Array[String](5) scala> val st = Array("Big","Data","s","s","t","u","u","w","w") valst1=Array("Hello","Prwatech","p","s","t","u","v","w","x","y","z","z","b","c","d","e")
 

 

b)

 

2) List

a)

scala> val lst = List(5,6)
scala> lst.head
scala> lst.tail

#Adding new elements using “::” from given head and tail

scala> 4 : : lst

b)

scala> var lst = List(5,6,”d”,”e”,”1″)

scala> lst.head

scala> lst.tail

scala> “e”::List(“5″,”1”)

scala> “4”::lst

3) Tuples

a)

scala> val a = (1,3,”Prwatech”,1.5)

scala> a._2

scala> a._3

scala> a._4

b)

scala> val x = (“ab”,3,”Prwa”,1.5,”i”)

scala> x._1

scala> x._4

scala> x._5

4) Map

a)

scala> val mapping = Map(“Tom” -> “Hardy”,”Christian” -> “Bale”)

scala>  val mapping = scala.collection.mutable.Map(“Leonardo” -> “D”,”Brad” -> “B”)

scala> val x = mapping(“Tom”)

Accessing Map

scala> val mapping = Map(“Tom” -> “Hardy”,”Christian” -> “Bale”)

scala>  val mapping = scala.collection.mutable.Map(“Leonardo” -> “D”,”Brad” -> “B”)

scala> val x = mapping(“Leonardo”)

Iterating Map elements

scala> for((d,b) <- mapping) yield(b,d)

b)

Scala> val mapping = Map(“Prwa” -> “utkarsh”,”Vinay” -> “Verma”)

Scala> val mapping = scala.collection.mutable.Map(“Vishal” -> “K”,”Vijay” -> “v”)

Scala> val x = mapping(“Prwa”)

Accessing Map elements

Scala> val mapping = Map(“Prwa” -> “utkarsh”,”Vinay” -> “Verma”)

Scala>  val mapping = scala.collection.mutable.Map(“Vishal” -> “K”,”Vijay” -> “v”)

Scala> val x = mapping(“Vishal”)

Iterating Map elements

 Scala> for((k,v) <- mapping) yield(v,k)

5) ArrayBuffer

a)

scala> import scala.collection.mutable.ArrayBuffer

scala> val x = ArrayBuffer[Int]()

scala> x+=1

scala> print(x++=Array(3,4,5))

scala> print(x++=Array(6))

scala> print(x+=(7))

b)

scala> import scala.collection.mutable.ArrayBuffer

scala> val x = ArrayBuffer[String]()

scala> x+=”a”

scala> print(x++=Array(“b”,”c”,”d”))

scala> print(x++=Array(“e”))

scala> print(x+=(“f”))

6) Set

A Scala Set is a type of collection that doesn't accept duplicates

a)

scala> var s=Set(1,2,3,3,2,5)


scala> var s:Set[Int]=Set(1,2,3,3,5)

scala> s.head

scala> s.tail

scala> s.isEmpty
val res3: Boolean = false

scala> var s1=Set(7,9,8,9)

//concatenating two sets s and s1

scala> s++s1


//find max no from s and s1 set

scala> s.max


scala> s1.max


//find min no from sets s1 and s

scala> s1.min


scala> s.min

b)

scala> val a=Set(9,9,3,3,2,”a”,7,”b”)


scala> a.head


scala> a.tail


Quick Support

image image