首页 > 代码库 > Scala 学习笔记之集合(1)
Scala 学习笔记之集合(1)
1 package com.citi.scala 2 3 object CollectionDemo { 4 def main(args: Array[String]): Unit = { 5 6 /** 7 * List 8 */ 9 println("--------------------------List-------------------------") 10 val numbers = List[Int](11, 22, 33, 44, 55) 11 val numbers1 = List(11, 22, 33, 44, 55) 12 val colors = List[String]("red", "green", "blue") 13 println(s"colors has ${colors.size}, $colors") 14 //取第一个 15 println(colors.head) 16 //去掉第一个,取剩下的 17 println(colors.tail) 18 //取第二个 19 println(colors(1)) 20 //遍历 21 for (s <- colors) { println(s) } 22 //高阶函数使用 23 colors.foreach { (s: String) => println(s) } 24 colors.foreach { s => println(s) } 25 colors.foreach { println(_) } 26 val elSize = colors.map((s: String) => s.size) 27 println(elSize) 28 println(numbers.reduce((a: Int, b: Int) => a + b)) 29 //初始化空List 30 val ls: List[Int] = List[Int]() 31 val lls: List[Int] = Nil 32 println(ls == lls) 33 //遍历 34 var i = numbers 35 while (!i.isEmpty) { 36 println(i.head) 37 i = i.tail 38 } 39 40 i = numbers 41 while (i != Nil) { 42 println(i.head) 43 i = i.tail 44 } 45 //cons操作符 46 val consNumbers = 3 :: 2 :: 1 :: Nil 47 println(consNumbers) 48 49 //List的算数运算 50 println(3 :: 2 :: 1 :: Nil) 51 println(List(7, 6, 5) ::: List(4, 3, 2, 1)) 52 println(List(4, 3, 2, 1) ++ List(7, 6, 5)) 53 println(List(1, 2) == List(2, 1)) 54 println(List(2, 1) == List(2, 1)) 55 println(List(1, 2, 3, 2, 1).distinct) 56 println(List(1, 2, 3, 2, 1) drop (2)) 57 println(List(4, 3, 2, 1) filter { _ >= 3 }) 58 println(List(List(1, 2, 3), List(4, 5, 6)).flatten) 59 60 println((List(1, 2, 3, 4, 5).partition(_ >= 3))) 61 println(List(1, 2, 3, 4, 5) reverse) 62 println(List(2, 3, 5, 7, 10, 11) slice (1, 4)) 63 println(List("apple", "ben") sortBy { s => s.size }) 64 println(List(2, 3, 5, 7, 10, 11) splitAt (3)) 65 println(List(2, 3, 5, 7, 10, 11) take (3)) 66 println(List(1, 2, 3) zip List("a", "b")) 67 println(List(1, 2) :+ 3) 68 69 /** 70 * Set 71 */ 72 println("--------------------------Set-------------------------") 73 val numbersets = Set[Int](11, 22, 11, 33, 44, 55) 74 println(s"numbersets has ${numbersets.size}, $numbersets") 75 println(numbersets.reduce((a: Int, b: Int) => a + b)) 76 /** 77 * Map 78 */ 79 println("--------------------------Map-------------------------") 80 val colorMap = Map[String, Int]("red" -> 1, "green" -> 2, "yellow" -> 3) 81 println(colorMap("red")) 82 for (pair <- colorMap) { println(pair) } 83 84 } 85 }
运行结果:
--------------------------List-------------------------
colors has 3, List(red, green, blue)
red
List(green, blue)
green
red
green
blue
red
green
blue
red
green
blue
red
green
blue
List(3, 5, 4)
165
true
11
22
33
44
55
11
22
33
44
55
List(3, 2, 1)
List(3, 2, 1)
List(7, 6, 5, 4, 3, 2, 1)
List(4, 3, 2, 1, 7, 6, 5)
false
true
List(1, 2, 3)
List(3, 2, 1)
List(4, 3)
List(1, 2, 3, 4, 5, 6)
(List(3, 4, 5),List(1, 2))
List(5, 4, 3, 2, 1)
List(3, 5, 7)
List(ben, apple)
(List(2, 3, 5),List(7, 10, 11))
List(2, 3, 5)
List((1,a), (2,b))
List(1, 2, 3)
--------------------------Set-------------------------
numbersets has 5, Set(33, 22, 44, 11, 55)
165
--------------------------Map-------------------------
1
(red,1)
(green,2)
(yellow,3)
Scala 学习笔记之集合(1)
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。