SCALA Collection..

-------- ARRAY-----------

collection of homogenious data. 0 based index serching is efficirnt adding data at is not efficient bcoz it has fixed size defined initially


scala> val a = Array(1, 2, 23,  23)
a: Array[Int] = Array(1, 2, 23, 23)

scala> println(a)
[I@1380a19b

scala> for (i <- a) println(i)
1
2
23
23

scala> println(a.mkString(","))
1,2,23,23

---LIST---

collection of homogenious data. 0 based index serching is not efficirnt adding data at the start is efficient


scala> val b = List(12, 13, 23, 24)
b: List[Int] = List(12, 13, 23, 24)

scala> println(b)
List(12, 13, 23, 24)

scala> println(b(0))
12

scala> println(b(-1))
java.lang.IndexOutOfBoundsException: -1
  at scala.collection.LinearSeqOptimized$class.apply(LinearSeqOptimized.scala:65)
  at scala.collection.immutable.List.apply(List.scala:84)
  ... 49 elided

scala> b.sum
res15: Int = 72

scala> 21::b
res16: List[Int] = List(21, 12, 13, 23, 24)

scala> 22::b
res17: List[Int] = List(22, 12, 13, 23, 24)

scala> println(b)
List(12, 13, 23, 24)

scala> val c = 24::b
c: List[Int] = List(24, 12, 13, 23, 24)

---TUPLE-----

collection of heterogenious data.

if colleted data has in pairs then act like key value

it is '1' index based


scala> val x = (1, we, true)
<console>:23: error: not found: value we
       val x = (1, we, true)
                   ^

scala> val x = (1, "we", true)
x: (Int, String, Boolean) = (1,we,true)

scala> x._1
res0: Int = 1

scala> x._-1
<console>:1: error: identifier expected but '_' found.
x._-1
  ^

scala> val y = (112, "sumit")
y: (Int, String) = (112,sumit)

scala> val z = 112 -> "sumit"
z: (Int, String) = (112,sumit)

scala> val w = "sumit" -> 112
w: (String, Int) = (sumit,112)

----RANGE---

specify range of value


scala> val rng = 1 until 10
rng: scala.collection.immutable.Range = Range(1, 2, 3, 4, 5, 6, 7, 8, 9)

scala> val xyz = 1 to 10
xyz: scala.collection.immutable.Range.Inclusive = Range(1, 2, 3, 4, 5, 6, 7, 8, 9, 10)

-----Set----

> contails homogeniuos data without duplication..

scala> val xy = Set(1,2,11,1,1,11,2,23)
xy: scala.collection.immutable.Set[Int] = Set(1, 2, 11, 23)

scala> xy.min
res2: Int = 1

scala> xy.sum
res3: Int = 37


scala> val xz = Set("as", "as", "aa")
xz: scala.collection.immutable.Set[String] = Set(as, aa)

scala> xz.min
res4: String = aa

scala> xy.max
res5: Int = 23

scala> val sd = (12 -> "mang", 23 -> "hav")
sd: ((Int, String), (Int, String)) = ((12,mang),(23,hav))

-----Map-----

no. of input is equal to no. of output

contains key , value pair with unique key......

scala> val sk = Map(12 -> "mang", 23 -> "hav")
sk: scala.collection.immutable.Map[Int,String] = Map(12 -> mang, 23 -> hav)

scala> sk.get(23)
res6: Option[String] = Some(hav)

scala> sd.get(12)
<console>:26: error: value get is not a member of ((Int, String), (Int, String))
       sd.get(12)

Thanks for visit.