中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

第32講:List的基本操作實戰與基于模式匹配的List排序算法實現

發布時間:2020-07-20 18:27:16 來源:網絡 閱讀:459 作者:lqding1980 欄目:大數據
package com.dt.scala.dataset
object HelloList {
  def main(args: Array[String]): Unit = {
    //定義List,直接使用applay方法
    val bigData = List("Spark","Hadoop")
    val data = List(1,2,3)
    //使用::定義列表
    val bigData_core = "Spark"::"Hadoop"::Nil 
    //:: Nil不能省略,"Spark"::"Hadoop" 這個語法是錯誤的
    //Nil是空列表,并且::是右元素的方法,例如"Hadoop"::Nil  :: 是Nil的方法
    //等同于
    val bigData_core2 = Nil.::("Hadoop")
    
    val data_Int = 1::2::3::Nil
    
    // 兩個列表合并,使用:::方法
    val data_union = data ::: data_Int
    
    //判斷列表是否為空
    data.isEmpty
    //取列表的頭部
    data.head
    //對于List來說,第一個元素稱之為head,其余的所有元素成為tail
    data.tail.head
    
    //提前List中的元素
    val List(a,b) = bigData  //a="Spark" , b="Hadoop"
    println("a = "+a+" b = "+b) 
    // 如果List中有多個元素,可以使用如下方式提取
    val first::second::rest = data  //rest代表剩余的List,返回的類型是List
    println("first:"+first+" ==== "+"second:"+second+" ==== "+"rest:"+rest)
    //first:1 ==== second:2 ==== rest:List(3)  
    
    //使用模式匹配對List進行排序操作
    
    val shuffleData = List(9,3,2,10,3,34,1)
    
    def compute(data : Int,dataSet : List[Int]) : List[Int] = dataSet match {
      case List() => List(data) //如果dataSet為空,那么返回List(data)
      case head :: tail => {  //如果dataSet不為空
        if (data <= head)     // data和第一個元素比較如果<=head則放到List的頭部
          data :: dataSet 
        else 
          head :: compute(data,tail)  //否則嵌套調用compute
      }
    }
    println(compute(10, shuffleData))
    
    def sortList(data : List[Int]) : List[Int] = data match {
      case List() => List()
      case head :: tail => compute(head,sortList(tail))
    }
    
    println(sortList(shuffleData))
  }
}
向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

兰州市| 当涂县| 丽水市| 玛纳斯县| 汶上县| 遂川县| 鹤岗市| 综艺| 乌什县| 钟山县| 洛阳市| 察哈| 泰和县| 子长县| 焦作市| 紫云| 绥中县| 大新县| 图木舒克市| 泰和县| 云浮市| 古丈县| 耒阳市| 潍坊市| 旌德县| 淳安县| 迁西县| 满城县| 深泽县| 汶川县| 龙州县| 肥东县| 平遥县| 开阳县| 利辛县| 汽车| 信宜市| 资阳市| 大城县| 淅川县| 托克托县|