1. 程式人生 > >scala中的List

scala中的List

  //1.定義一個空的List List() 或 Nil
  List()
  Nil
  //2.建立帶有三個值"Cool","tools","rule" 的新List[String]
  List("Cool","tools","rule")
  //3.建立帶有三個值"will","fill","until" 的新List[String]
  val thrill = "Will" :: "fill" :: "until" :: Nil
  //4.疊加兩個列表 返回 a,b,c,d的新列表
  List("a","b") ::: List("c","d")
  //5.返回索引為2(基於0)的元素  until
  thrill(2)
  //6.計算長度為4的String元素個數 這裡will fill符合要求 返回2
  thrill.count(s => s.length ==4)
  println(thrill.count(s => s.length ==4))
  //7.返回去掉前2個元素的列表 返回 until
  thrill.drop(2)
  println(thrill.drop(2))
  //8.返回去掉後2個元素的列表 返回will
  thrill.dropRight(2)
  //9.判斷列表中是否含有"until"元素 返回true
  thrill.exists(s => s == "until")
  println(thrill.exists(s => s == "until"))
  //10.依次返回所有長度為4的元素列表  返回will fill
  thrill.filter(s => s.length ==4)
  println(thrill.filter(s =>s.length ==4 ))
  //11.判斷列表中是否含有以"l"結尾的元素  返回true
  thrill.forall(s => s.endsWith("l"))
  println(thrill.forall(s => s.endsWith("l")))
  //12.列印所有列表元素
  thrill.foreach(s => println(s))
  //13.上面的簡潔寫法
  thrill.foreach(println)
  //14.返回列表的第一個元素  返回will
  thrill.head
  println(thrill.head)
  //15.返回處最有一個元素以外的其他的元素的新列表  返回 will fill
  thrill.init
  println(thrill.init)
  //16.判斷列表是否為空
  thrill.isEmpty
  //17.返回列表的最後一個元素
  thrill.last
  //18.返回列表的元素數量
  thrill.length
  //19.為列表中每一個String元素添加了"y",返回新列表
  thrill.map(s => s + "y")
  println(thrill.map(s => s + "y"))
  //20.用列表的元素建立成字串 並以(,)分割
  thrill.mkString(",")
  println(thrill.mkString(","))
 //21.返回列表的逆序
  thrill.reverse
  //22.返回去掉第一個元素的列表
  thrill.tail
 //23.返回所有元素,並且第一個字元小寫按照字母順序排序
  thrill.sortWith((s,t)=>
    s.charAt(0).toLower <
    t.charAt(0).toLower
  )
  //24.返回去除列表中元素長度為4的元素
  thrill.dropWhile(s => s.length ==4)

相關推薦

scalalist集合的操作與總結

unit flat script red char cte 條件 atm pan /** * Created by root * Description : List */ object ListTest { def main(args: Array[

ScalaList(Map1,Map2,Map3 ....) 轉成一個Map

http com info div .com blog map list 代碼 這個問題研究好久。。。頭大,不記得有fold用法了。 參考代碼如下: Scala中List(Map1,Map2,Map3 ....) 轉成一個Map

scala List的簡單使用

main 列表 fix decorator head != 簡單 mut println /** * scala 中List的使用 * */ object ListUse { def main(args: Array[String]): Unit =

ScalaList的操作

//對於共享相同型別的不可變物件序列,可以使用Scala的List類 //作為一個array,一個list[String]包含為String型別,scala中的list和java中的list不一樣 //scala中的list是不可變得 val oneTwoThree = List(1,2,3) &n

第83講:ScalaList的實現內幕原始碼揭祕

本講視訊是王家林老師通過認真解讀scala原始碼的方式講解了《Scala中List的實現內幕原始碼揭祕》。本講內容如下: ListBuffer(連結串列快取)相當於List的一個工具類,List本身繼承ListBuffer,擁有ListBuffer中非私有的方法。對Lis

scalaArray、List、Tuple異同

各資料結構是否長度可變? 各資料結構是否內容可變? 各資料結構宣告方式有何差別? 各資料結構訪問方式有何差異? 從資料結構的角度:  1)Array、List、Tuple都是不可變長的,BufferArray是可變長的  2)

scalaList

//1.定義一個空的List List() 或 Nil List() Nil //2.建立帶有三個值"Cool","tools","rule" 的新List[String] List("Cool","tools","rule") //3.建立帶有三個

hibernatehql語句list和iterate區別

每次 hibernate 寫入 所有 讀取 條件 iter 查詢 hql 1.使用list()方法獲取查詢結果,每次發出一條語句,獲取全部數據。2.使用iterate()方法獲取查詢結果,先發出一條SQL語句用來查詢滿足條件數據的id,然後依次按照這些id查詢記錄,也就是要

(轉)Scala協變(+)、逆變(-)、上界(<:)、下界(>:)簡單介紹

定義類 word ref 一個 pla 而不是 關系 repl 協變 看源碼的時候看到: trait ExtensionId[T <: Extension] {沒見過這個符號啊<: Scala上界(<:)和下界(>:) 1) U >: T

JavaList集合的遍歷

java list 集合 遍歷 一、對List的遍歷有三種方式 List<String> list = new ArrayList<String>(); list.add("testone"); list.add(

scalaoption、None、some對象

例子 語言 習慣 種類 有一個 key match 目標 轉載 轉載:http://www.jianshu.com/p/95896d06a94d 1、option類型避免對象是空值,造成空指針異常。 2、None對象表示null,在沒有對象返回時使用,some在有對象值時使

redislist模擬案例-消息隊列

成功 inf use amp aos 數據 rep ces 是否 redis 數據類型:字符串string、list、set、zset、hash 主要的是list消息隊列 消息隊列的概念:先進先出 <?php//echo phpinfo();ini_set(‘disp

AndroidList循環遍歷性能對照

最快 next() num trac () ren length iter pan 在android開發中僅僅要是列表式風格界面我們差點兒都須要用到List來存放數據,在數量非常少的List的話差點兒不論什麽一種循環遍歷方式總體性能都無區別。可是當我們遇

pythonlist總結

並且 pil 新的 tar log ins values ams help 轉自python中list總結 一、list可以看做是一個數據結構,也是一個class, 用help(list)可以看見其方法,元素的增刪改查都有各種現成的方法, 二、list操作包含以下函數:

scala計算的的一個小問題,超出Int.maxValue時不會報錯

class sca cal div 問題 pri 如果 int sin 如果小於Int.max時他不會報錯 def sumcount(str:String): Int ={ val ints = for(c <- str)yield { p

大數據學習之Scalamain函數的分析以及基本規則(2)

語言 python rgs 數字 popu 結束 圖片 區別 返回 一、main函數的分析 首先來看我們在上一節最後看到的這個程序,我們先來簡單的分析一下。有助於後面的學習 object HelloScala { def main(args:

JAVA List和ArrayList的區別

屬性和方法 vector 實現類 多個 一個 什麽 性能 {} 等等 List是一個接口,而ListArray是一個類。 ListArray繼承並實現了List。 所以List不能被構造,但可以向上面那樣為List創建一個引用,而ListArray就可以被構造。 Li

Scala柯裏化函數

參數轉換 sca val 一個 col color 下劃線 pre class 高階函數轉一階函數: val add1 = (x: Int) => x + 5 def add2(x: Int)(y: Int) = x + y //傳入一個參數轉換為一階函數

JavaList集合遍歷的三種方式

asn tex iter for nbsp next next() ray string 首先創建一個List集合: List<String> list = new ArrayList<String>();list.add("name"); list

Scala 的隱式轉換和隱式參數

定義 定義函數 scala 行為 hub 隱式 實現 發現 com 隱式定義是指編譯器為了修正類型錯誤而允許插入到程序中的定義。 舉例: 正常情況下 顯然會報錯,因為 String 類並沒有實現 / 這個方法,我們無法去決定 String 類的行為,這個時候就可以用上 im