object 案例 {
def main(args: Array[String]): Unit = {
// 1.定义列表,记录学生的成绩,格式为:姓名,语文成绩,数学成绩,英语成绩,学生信息如下:
// ("张三",37,90,100),("李四",90,73,81),("王五",60,90,76),("赵六",59,21,72),("田七",100,100,100)
val stuList = List(
("张三", 37, 90, 100),
("李四", 90, 73, 81),
("王五", 60, 90, 76),
("赵六", 59, 21, 72),
("田七", 100, 100, 100)
)
// 2.获取所有语文成绩在60分及以上的同学信息
// val chineseList = stuList.filter(x => x._2 >= 60)
// 简写
val chineseList = stuList.filter(_._2 >= 60)
println(s"chineseList:$chineseList")
// 3.获取所有学生的总成绩
/**
* x表示集合中每一个元素:("张三", 37, 90, 100) -> (张三,227)
* x._1:姓名
* x._2 + x._3 + x._4:语文成绩 + 数学成绩 + 英语成绩
*/
val totalScoreList = stuList.map(x => x._1 -> (x._2 + x._3 + x._4))
println(s"totalScoreList:$totalScoreList")
// 4.按照总成绩降序排列
// totalScoreList:List((张三,227), (李四,244), (王五,226), (赵六,152), (田七,300))
/**
* x:表示前一个元素:(张三,227)
* y:表示后一个元素:(李四,244)
*/
// val sortList = totalScoreList.sortWith((x, y) => x._2 > y._2)
// 简写
val sortList = totalScoreList.sortWith(_._2 > _._2)
println(s"sortList:$sortList")
}
}