package com.wyh.day01
import scala.collection.mutable.ListBuffer
/**
* List 有序不唯一,元素可重复
*/
object ScalaList2 {
case class stu(name: String, age: Int)
def main(args: Array[String]): Unit = {
var list1 = List(1, 2, 35, 6, 4, 3, 4, 5, 7)
//list1进行排序
list1.sortWith((i, j) => i < j).foreach(println)
println("=" * 100)
//将数字转成字符串,用逗号分割
println(list1.mkString(","))
//take获取前几个元素,返回的也是一个list集合
println(list1.take(3))
//获取第一个元素
println(list1.head)
//获取最后一个元素
println(list1.last)
//获取除了第一个以外剩下的尾部
println(list1.tail)
//反转
println(list1.reverse)
//可进行排序,升序
list1.sortBy(i => i).foreach(print)
println("=" * 100)
//降序
list1.sortBy(i => -i).foreach(print)
println("=" * 100)
//可进行去重后再排序
list1.distinct.sortBy(i => i).foreach(print)
println("=" * 100)
//可删除前面几个元素
list1.drop(3).foreach(print)
println("=" * 100)
//也可以进行过滤出想要的元素(例如过滤出奇数)
list1.filter(i => i % 2 == 1).foreach(println)
println("=" * 100)
//
var stu1 = List(stu("王友虎", 21), stu("赵以浩", 24), stu("李宏灿", 20), stu("齐博源", 23))
//按照年龄进行排序
println(stu1.sortBy(i => i.age))
//判断list是不是为空
println(stu1.isEmpty)
/**
*
* 可变集合
*
*/
println("=" * 100)
var list3 = ListBuffer("小虎", "小赵", "小李")
//插入元素
list3 += "小王"
println(list3)
//在指定的下标位置插入元素
list3.insert(1,"指定位置元素")
println(list3)
//批量插入元素
list3 ++= List("批量1","批量2","批量3")
println(list3)
//删除元素
list3 -= "批量1"
println(list3)
}
}