scala_準備_spark_基礎

20170405發表於2020-08-06

  package model.Caseimport scala.collection.mutable.ListBufferobject Case_01 {case class case1(name: String, age: Int) {}def main(args: Array[String]): Unit = {//樣例類 不需要new//val 表示 不可變 var 表示可變

// var a1 = case1("zhang",1)// print(a1.name)

// print(a1.age)// var list1=ListBuffer("a", "a" ,"c","d","e","a")var A0 = Array(1, 2, 3, 4, 5)var A1 = Array(6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 1, 2, 3, 4, 5)var A2 = Array("zhangsan lisi wangwu", "hadoop hive hbase", "beijing shanghai nanjing")var A3 = Array("zhangsan lisi wangwu", "hadoop hive hbase", "beijing shanghai nanjing")

// 輸出集合的大小

// println(A1.length)

//遍歷每一個資料 map遍歷資料裡面的 每一個值

// map 就是 把 A1裡面的 全部資料都拿出來

// x 表示 map 裡面的元素 => 這個就是 對元素要做什麼操作 x 乘 2 裡面的元素 * 2

// val sum = A1.map(x=>x*2)

// _ 表示 sum 裡面的 每一個元素// sum.map(t=>println(t)) sum.map(println(_))

// sum.map(println)//可以無限 map 對資料進行操作// val sum = A1.map(x=>x*2).map(y=>y-1).map(println)

// 更優秀的 map 操作// val sum2 = A0.map(xml=>{// //複雜操作// xml*2;// xml-5;//// xml*0// }).map(println)

//只保留大於 10 的 資料 保留 true的 資料// A1.filter(x=>if (x>10) true else false).map(println)

// 保留 false 資料 取反

// A1.filterNot(x=>if (x>10) true else false).foreach(println)

// 計算總和 a 和 b 兩個值 進行一個相加 操作

// val i: Int = A1.reduce((a, b)=>a+b

)// println(i)// println(A1.reduce(_ + _))    h.com/

// 升序 //降序 sortby S=>-S// A1.sortBy(S => S).foreach(println)

//多個抽成 一個val Str: Array[String] = A2.flatMap(x=>x.split(",")

)// Str.foreach(println)//分開奇偶val pp: (Array[Int], Array[Int]) = A1.partition({ x=> x % 2 == 0})

// pp 為 元組 ( 元組裡面可以 儲存不同型別的值 元組 訪問就是 _ 加編號 )println(pp._1.mkString(","))println(pp._2.mkString(","))}}


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69979119/viewspace-2709670/,如需轉載,請註明出處,否則將追究法律責任。

相關文章