Scala入门二——入门练习

入门练习题

package com.ghq.scala

/**
  * @author ${user}
  */
object Hw {

  def main(args: Array[String]): Unit = {
    //创建一个List
    val lst0 = List(1,7,9,8,0,3,5,4,6,2)
    //将lst0中每个元素乘以10后生成一个新的集合
    val ls2 = lst0.map(_*10)
    println(ls2)//List(10, 70, 90, 80, 0, 30, 50, 40, 60, 20)
    //将lst0中的偶数取出来生成一个新的集合
    val ls3 = lst0.filter(_%2==0)
    println(ls3)//List(8, 0, 4, 6, 2)
    //将lst0排序后生成一个新的集合
    val ls4 = lst0.sortWith(_>_)
    println(ls4)//List(9, 8, 7, 6, 5, 4, 3, 2, 1, 0)
    val ls5 = lst0.sortWith(_<_)
    println(ls5)//List(0, 1, 2, 3, 4, 5, 6, 7, 8, 9)

    val ls6 = lst0.sorted
    println(ls6)//List(0, 1, 2, 3, 4, 5, 6, 7, 8, 9)

    val aa = List("banana", "pear", "apple", "orange").sortWith(_.length < _.length)
    println(aa)//List(pear, apple, banana, orange)

    //反转顺序
    val res1 = lst0.reverse
    println(res1)//List(2, 6, 4, 5, 3, 0, 8, 9, 7, 1)

    //将lst0中的元素4个一组,类型为Iterator[List[Int]]
    val grouped = lst0.grouped(4)
    println(grouped)//non-empty iterator

    //将Iterator转换成List
    println(grouped.toBuffer)//ArrayBuffer(List(1, 7, 9, 8), List(0, 3, 5, 4), List(6, 2))

    //将多个list压扁成一个List

    val a = List(List(1, 7, 9, 8), List(0, 3, 5, 4), List(6, 2))
    println(a.flatten)//List(1, 7, 9, 8, 0, 3, 5, 4, 6, 2)


    val list01 = List(5,6,4,7)
    val list02 = List(1,2,3,4)
    //求并集
    val union = (list01 ++ list02).toSet
    println(union)//Set(5, 1, 6, 2, 7, 3, 4)
    //求交集
    val inter  = list01.toSet intersect list02.toSet
    println(inter.toBuffer)//ArrayBuffer(4)
    //求差集
    val sub01 = union -- inter
    println(sub01)//Set(5, 1, 6, 2, 7, 3)

    val sub02 = union diff inter
    println(sub02)//Set(5, 1, 6, 2, 7, 3)
  }
}

猜你喜欢

转载自blog.csdn.net/guo20082200/article/details/82705249