scala 数据结构(十二):集合实例(一)基本属性和常用的操作、衍生集合、集合计算初级函数

实例一:

package com.atguigu.scala.chapter07

/**
  * Author: Felix
  * Date: 2020/5/4
  * Desc: 基本属性和常用的操作
  */
object Scala09_TestFun {
  def main(args: Array[String]): Unit = {
    val list: List[Int] = List(1,2,3,4,5,6)
    //(1)获取集合长度
    //println(list.length)
    //(2)获取集合大小
    //println(list.size)
    //(3)循环遍历
    //println(list)
    //list.foreach(println)
    //(4)迭代器
    //for (elem <- list.iterator) {
    //  println(elem)
    //}
    //(5)生成字符串
    //val res: String = list.mkString(",")
    //println(res)
    //(6)是否包含
    println(list.contains(1))
  }
}

实例二:

package com.atguigu.scala.chapter07

/**
  * Author: Felix
  * Date: 2020/5/4
  * Desc: 衍生集合
  */
object Scala10_TestFun {
  def main(args: Array[String]): Unit = {
    val list1 = List(1,2,3,4,5,6,7)
    val list2 = List(4,5,6,7,8,9,10,11,12)
    //(1)获取集合的头     1
    //println(list1.head)
    //(2)获取集合的尾(不是头的就是尾)    List(2, 3, 4, 5, 6, 7)
    //println(list1.tail)
    //(3)集合最后一个数据 7
    //println(list1.last)
    //(4)集合初始数据(不包含最后一个)
    //println(list1.init)
    //(5)反转
    //println(list1.reverse)
    //(6)取前(后)n个元素
    //println(list1.take(3))
    //println(list1.takeRight(3))
    //(7)去掉前(后)n个元素
    //println(list1.drop(3))
    //println(list1.dropRight(3))

    //(8)并集
    //val newList: List[Int] = list1.union(list2)
    //println(newList)
    //(9)交集
    //val newList: List[Int] = list1.intersect(list2)
    //(10)差集
    //val newList: List[Int] = list1.diff(list2)
    //val newList: List[Int] = list2.diff(list1)
    //println(newList)
    //(11)拉链
    //println(list1.zip(list2))
    //(12)滑窗
    for (elem <- list1.sliding(3,3)) {
      println(elem)
    }

  }
}

实例三:

package com.atguigu.scala.chapter07

/**
  * Author: Felix
  * Date: 2020/5/4
  * Desc:  集合计算初级函数
  */
object Scala11_TestFun {
  def main(args: Array[String]): Unit = {
    val list: List[Int] = List(5,1,8,2,-3,4)
    //(1)求和
    //println(list.sum)
    //(2)求乘积
    //println(list.product)
    //(3)最大值
    //println(list.max)
    //(4)最小值
    //println(list.min)
    //(5)排序     sorded|sortBy|sortWith
    //println(list.sorted.reverse)


    //如果函数参数和函数体是一致的情况,那么不能简化
    //println(list.sortBy(elem => elem))

    //按照集合中元素的绝对值进行排序
    //println(list.sortBy(elem => elem.abs))
    //println(list.sortBy(_.abs))
    //println(list.sortBy(elem => elem).reverse)
    println(list.sortBy(elem => -elem))

    //println(list.sortWith((a:Int,b:Int)=>{a < b}))
    println(list.sortWith(_ > _))


  }
}
原文地址:https://www.cnblogs.com/qiu-hua/p/13809413.html