Seq of Tuples

Search tuple in sequence of tuples where second element has maximum for all sequence.


object CollectStudy extends App {

     val seqTup = Seq((1,1), (2,3), (3,5), (4,8), (5,7), (6,5), (7,3), (8,1) ,(9,8))
     println(seqTup)

     // solution 1
     val elmMax = seqTup(seqTup.map(x => x._2).indexOf(seqTup.map(y => y._2).max))
     println(elmMax)

     //solution 2
     val seqVals = seqTup.map(x => x._2)
     val maxVal  = seqVals.max
     val idxMax  = seqVals.indexOf(maxVal)
     val elm2Max = seqTup(idxMax)
     println(elm2Max)

     //solution 3 - get all maximums
     val elmMax = seqTup.filter{_._2 == (seqTup.map(y => y._2).max)}
     println(elmMax)
  
}


Output is

List((1,1), (2,3), (3,5), (4,8), (5,7), (6,5), (7,3), (8,1), (9,8))
(4,8)
(4,8)
List((4,8), (9,8))


Комментарии

Популярные сообщения из этого блога

Functions as first class values and numerical method for simple integral calculation