Scala List集合 List 有序不唯一,元素可重复

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)


  }
}
posted @ 2020-01-20 13:05  Xiaohu_BigData  阅读(935)  评论(0编辑  收藏  举报