Wednesday, May 20, 2020

Collections - [Array , List , Map, Set] / Filtering and Sorting

Array :-


fun main(args : Array<String>)
{
    var player = Array<String> (3){" "}  //initialization is necessary
    player[0]="Dhoni"
    player[1]="Sehwag"
    player[2]="Kohli"
//  player[9]="broad"  exception
    for(element in player)
    {
        println(element)
    }
    player[1]="KL Rahul"
    for(pl in 0..player.size-1)   //use of loop  Location wise
    {
        println(player[pl])
    }
    var num = Array<Int>(3){3}
    num[0]=55
    for(a in num)    //use of loop Directly
        println(a) 

}

List :-

fun main(args : Array<String>)
{
    var a = listOf<Int> (9,9,8)
    for(num in a)
    {
        println(num)
    }
//    for(num in 0..a.size-1)
    {
        println(a)
    }
   //  var b = mutableListOf<String>()
  //  var b = arrayListOf<Float>(5.9F, 6.7F,6.0F)
        var c = ArrayList<String> ()
        c.add("India")
        c.add("Pakistan")
        c.add("Isreal")

  //      c.remove("Pakistan")
   //     c.add(1,"Russia")

    c[1] = "Russia  n"
     for(element in c)
        println(element)
}


Map :-

fun main(args:Array<String>)
{
 //   var mymap =  mapOf<Int,String> ()

  // var abc = HashMap<Int,String> ()
  //  var abc = mutableMapOf<Int,String>()
    var abc = hashMapOf<Int,String>()
    abc.put(34,"cs")
    abc.put(12,"it")
    abc.put(89,"me")


    for(i in abc)
        println(i)

//    abc.put(12,"ko")
    abc.replace(12,"lm")


    for(key in abc.keys)
        println("Element at $key = ${abc[key]}")
}


Set :- 
contain unique value only no duplicates


fun main(args:Array<String>)
{
    var abc = hashSetOf<Int> (44,33,33,56,33,78,54,45)
    for(i in abc)
        println(i)

    var xyz = mutableSetOf<String>("aa","ab","cs","aa","aa","db","db")
    for (k in xyz)
        println(k)

    xyz.remove("db")
    xyz.add("kt")
    println("newc")

    for (k in xyz)
        println(k)
}

Filtering and Sorting :-

Filter and Map usage :-

Filter :-  filter our desired element out of collection.
Map :-  perform operation and modify elements.

eg :-

fun main(args : Array<String>)
{
    var mynum = listOf<Int>(2,3,4,8,66,55,99)

    var filt = mynum.filter { it<10 }   //filter usage  -- value less than 10
     for(i in filt)
      println(i)

    var mp = mynum.map { s -> s*s}  //map usage -- get new list square of previous one
     for(i in mp)
        println(i)

    println("both")

    var bth = mynum.filter { it<5 }.   //map and filter both usage 
                    map {it*it  }  //values less than 5 and square
    for(i in bth)
        println(i)

    println("In class")    //filter use in class created

    var per = listOf<person>(person("Lokesh",10),person("Vivek",14),person("Stranger",31),person("Lavish",19))

//    var myper =  per.filter {s->s.name.startsWith("L")}.map{it.name}
    var myper =  per.filter {it.age<20}.map{it.name}

    for(name in myper)
       println(name)
}

class person(var name:String, var age:Int)
{
    //some code
}

Predicates :-

'all' :-  Do all element satisfy the predicates/condition ?
'any' :-  Do any element satisfy the predicates/condition ?
'count' :- Total element that satisfy the predicates
'find' :- Return the First element that satisfy the Predicates


fun main(args:Array<String>)
{
    val numT = listOf<Int>(3,4,6,7,1,56,2,55,66,67,43,23)

    val fn = {s:Int -> s > 10}

    var check1 = numT.all(fn)    //output false  
    println(check1)

    var check2 = numT.any{s -> s>10}   //output true  
    println(check2)

    var count1:Int = numT.count{it>10}   //output 6 
    println(count1)

    var num1 = numT.find(fn)   //output 56 
    println(num1)
}




No comments:

Post a Comment

Null Safety , Lazy Keyword and LateInit Keyword

Null Safety :- Safe call  ( ? )    use it if you don't mind getting null values Not Null Insertion ( !! )  use if you are sure that val...