fork(1) download
  1. object Main extends App {
  2. val line = List("a","ab","abc","xyz","mnp","ac","d","b","ab","bc","bd","be","bf","b","abc","abc","pqr","mnp","jkl","a","b")
  3.  
  4. val lengthAndTheWords = line.map(x => (x.length,x)).groupBy(x => x._1).mapValues(x => x.toSet)
  5. val longest = lengthAndTheWords.toSeq.sortBy(key => -key._1).head
  6.  
  7. println("Max length =" +
  8. longest._1 +
  9. ", words are" +
  10. longest._2.map(nextEntry => nextEntry._2).mkString(","))
  11. }
Success #stdin #stdout 0.44s 382080KB
stdin
Standard input is empty
stdout
Max length =3, words areabc,pqr,mnp,jkl,xyz