scala集合學(xué)習(xí)筆記

列表 List

類似于數(shù)組

  • 創(chuàng)建列表
val list = List(2, 3, 4, 5)
//創(chuàng)建空的列表
val list1 = Nil 
val list2 = List()
val list3 = 1 :: 2 :: Nil
  • 獲取元素,下標(biāo)也從0開始
list(0)
  • 統(tǒng)計(jì)特定的元素的個(gè)數(shù)
//統(tǒng)計(jì)List中元素大于2的個(gè)數(shù)
list.count(x => x > 2)

統(tǒng)計(jì)其中字符串的長(zhǎng)度大于2的元素的個(gè)數(shù)

val tempList = "1" :: "hello" :: "test" :: Nil
tempList.count(s=>s.length > 2)
  • 獲得列表的長(zhǎng)度
list.length
  • 生成用指定符號(hào)隔開的字符串
list.mkString(":")
list.mkString(",")
  • 反序生成列表
list.reverse
  • 排序
    sortWith
val sortList = List(2,4,4,5,65)
//降序
sortList.sortWith((x: Int, y: Int) => x > y)
//升序
sortList.sortWith((x: Int, y: Int) => x < y)
  • 打印每一個(gè)元素
list.foreach((x)=>println(x))
//或者
list.foreach(println _)

集合

val set = Set(1,2,1)

元組

val hostPort = ("localhost",80)
hostPort._1
hostPort._2

Map

val map = Map("1"->"2")
val map = Map(("1"->"2"))
map.get("1")
//如果取不到值排截,在java中肯定會(huì)報(bào)錯(cuò)柠逞,但是在這我們可以規(guī)避莉撇,給定一個(gè)default值
map.getOrElse("2",3)

函數(shù)組合子

  • Map

對(duì)列表中的每個(gè)元素應(yīng)用一個(gè)函數(shù)拌消,返回應(yīng)用后的元素所組成的列表。

list.map((i: Int) => i + 2)
//傳入一個(gè)函數(shù)
def add(i: Int): Int = i + 2
list.map(add)
  • filter

移除任何對(duì)傳入函數(shù)計(jì)算結(jié)果為false的元素集晚。返回一個(gè)布爾值的函數(shù)通常被稱為謂詞函數(shù)[或判定函數(shù)]。

list.filter((i: Int) => i % 2 == 0)
  • zip拉練操作

將兩個(gè)列表的內(nèi)容聚合到一個(gè)對(duì)偶列表中坎拐。

List(1,2,3).zip(List("a","b","c"))
  • partition

將使用給定的謂詞函數(shù)分割列表担忧。

val testList = List(1, 2, 3, 4, 5, 6, 7, 8, 9, 10)
testList.partition(_ % 2 == 0)
  • find
    find返回集合中第一個(gè)匹配謂詞函數(shù)的元素芹缔。
testList.find((x: Int) => x > 3)
  • foldLeft

將上次的計(jì)算結(jié)果重新賦值,然后與下一個(gè)元素進(jìn)行累計(jì)瓶盛。

testList.foldLeft(0) {
  (m: Int, n: Int) => m + n
}

我們可以觀察一下這個(gè)過程最欠。

testList.foldLeft(0) {
  (m: Int, n: Int) => println("m: " + m + " n: " + n); m + n
}
  • flatten

將嵌套結(jié)構(gòu)扁平化為一個(gè)層次的集合。

List(List(1,2),List(3,4)).flatten
  • flatMap

一個(gè)處理嵌套列表的函數(shù)惩猫,然后將結(jié)果串連起來芝硬。

val nestedList = List(List(1,2),List(3,4))
nestedList.flatMap(x=>x.map(_ * 2))
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市帆锋,隨后出現(xiàn)的幾起案子吵取,更是在濱河造成了極大的恐慌禽额,老刑警劉巖锯厢,帶你破解...
    沈念sama閱讀 222,627評(píng)論 6 517
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異脯倒,居然都是意外死亡实辑,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 95,180評(píng)論 3 399
  • 文/潘曉璐 我一進(jìn)店門藻丢,熙熙樓的掌柜王于貴愁眉苦臉地迎上來剪撬,“玉大人,你說我怎么就攤上這事悠反〔泻冢” “怎么了?”我有些...
    開封第一講書人閱讀 169,346評(píng)論 0 362
  • 文/不壞的土叔 我叫張陵斋否,是天一觀的道長(zhǎng)梨水。 經(jīng)常有香客問我,道長(zhǎng)茵臭,這世上最難降的妖魔是什么疫诽? 我笑而不...
    開封第一講書人閱讀 60,097評(píng)論 1 300
  • 正文 為了忘掉前任,我火速辦了婚禮旦委,結(jié)果婚禮上奇徒,老公的妹妹穿的比我還像新娘。我一直安慰自己缨硝,他們只是感情好摩钙,可當(dāng)我...
    茶點(diǎn)故事閱讀 69,100評(píng)論 6 398
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著查辩,像睡著了一般胖笛。 火紅的嫁衣襯著肌膚如雪奕短。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 52,696評(píng)論 1 312
  • 那天匀钧,我揣著相機(jī)與錄音翎碑,去河邊找鬼。 笑死之斯,一個(gè)胖子當(dāng)著我的面吹牛日杈,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播佑刷,決...
    沈念sama閱讀 41,165評(píng)論 3 422
  • 文/蒼蘭香墨 我猛地睜開眼莉擒,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來了瘫絮?” 一聲冷哼從身側(cè)響起涨冀,我...
    開封第一講書人閱讀 40,108評(píng)論 0 277
  • 序言:老撾萬榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎麦萤,沒想到半個(gè)月后鹿鳖,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 46,646評(píng)論 1 319
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡壮莹,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,709評(píng)論 3 342
  • 正文 我和宋清朗相戀三年翅帜,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片命满。...
    茶點(diǎn)故事閱讀 40,861評(píng)論 1 353
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡涝滴,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出胶台,到底是詐尸還是另有隱情歼疮,我是刑警寧澤,帶...
    沈念sama閱讀 36,527評(píng)論 5 351
  • 正文 年R本政府宣布诈唬,位于F島的核電站韩脏,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏讯榕。R本人自食惡果不足惜骤素,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 42,196評(píng)論 3 336
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望愚屁。 院中可真熱鬧济竹,春花似錦、人聲如沸霎槐。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,698評(píng)論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽丘跌。三九已至袭景,卻和暖如春唁桩,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背耸棒。 一陣腳步聲響...
    開封第一講書人閱讀 33,804評(píng)論 1 274
  • 我被黑心中介騙來泰國(guó)打工荒澡, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人与殃。 一個(gè)月前我還...
    沈念sama閱讀 49,287評(píng)論 3 379
  • 正文 我出身青樓单山,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親幅疼。 傳聞我的和親對(duì)象是個(gè)殘疾皇子米奸,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,860評(píng)論 2 361

推薦閱讀更多精彩內(nèi)容