集合的簡單計算(求和、乘積、最大值、最小值、排序)
* 1. 求和
* 2. 求乘積
* 3. 最大值
* 4. 最小值
* 5. 排序
* 說明
* 1.sorted 按數據元素值(默認),正序排序(默認)
* 2.sortBy 按指定數據元素值比較(自定義),正序排序(默認)
* 3.sortWith 按指定規則比較
* */
/* * 集合的簡單計算(求和、乘積、最大值、最小值、排序) * 1. 求和 * 2. 求乘積 * 3. 最大值 * 4. 最小值 * 5. 排序 * 說明 * 1.sorted 按數據元素值(默認),正序排序(默認) * 2.sortBy 按指定數據元素值比較(自定義),正序排序(默認) * 3.sortWith 按指定規則比較 * */ object SimpleCaculation extends App { //1. 初始化 var list = List(1, 2, -3, 4, -5, 6, 7) //2. 求和 - sum println(list.sum) //3. 求乘積 - product println(list.product) //4. 求最大值 println(list.max) //5. 求最小值 println(list.min) //6. 排序 //默認排序規則為 正序 var list1 = list.sortBy(x => x) //指定比較的數據 println(list1) var list2 = list.sortBy(x => x.abs) //按絕對值比較大小 println(list2) //指定排序規則 println(list) var index = 1 //設置比較規則 def rule(x: Int, y: Int) = { printf("第 %d 交換\n", index) index += 1 x > y //倒序 } var list3 = list.sortWith(rule) //函數為true時,交換順序 println(list3) //匿名函數 var list4 = list.sortWith(_ < _) println(list4) var list5 = list.sorted println(list5) }