Saya punya daftar yaitu

List[(Int,Int)]=((5,12),(2,3),(3,14),(4,5),(1,0))

Saya ingin mengurutkan setiap item ke-2 berdasarkan yang pertama dan menempatkannya di List[Int] yaitu List[Int]=(12,5,14,3,0) apa yang harus saya lakukan dalam kasus seperti itu?

-1
Aqsa Zahoor 11 Desember 2017, 20:39

1 menjawab

Jawaban Terbaik

Coba sortBy dan map

scala> val xs = List((5,12),(2,3),(3,14),(4,5),(1,0))
xs: List[(Int, Int)] = List((5,12), (2,3), (3,14), (4,5), (1,0))

scala> xs.sortBy(_._1).map(_._2).reverse
res1: List[Int] = List(12, 5, 14, 3, 0)

Perhatikan bahwa sortBy secara default melakukan urutan menaik sehingga Anda perlu .reverse Daftar yang dihasilkan

2
Jack Koenig 11 Desember 2017, 17:42