- 阅读权限
- 255
- 威望
- 0 级
- 论坛币
- 49957 个
- 通用积分
- 79.4887
- 学术水平
- 253 点
- 热心指数
- 300 点
- 信用等级
- 208 点
- 经验
- 41518 点
- 帖子
- 3256
- 精华
- 14
- 在线时间
- 766 小时
- 注册时间
- 2006-5-4
- 最后登录
- 2022-11-6
|
- Quickly create 'n to m' collection of numbers
- 100 to 200 //res0: scala.collection.immutable.Range.Inclusive = Range(100, 101, 102, 103, 104, 105..200)
- loop over 'n to m' range
- for(i <- 100 to 200) {
- println(i)
- }
- // prints 100 to 200
- create a list and append
- val list = List(1,2,3,4,5)
- // append to list
- list = list :+ 6 // error since list is val.
- var list2 = List(1,2,3)
- list2 = list2 :+ 4 // now list is a new List (1,2,3,4)
- list2 = 0 +: list2 // now list is a new List(0,1,2,3,4)
- Yield a Collection from foreach
- scala> val kvp = for(i <- 1 to 5) yield {
- | (i, i*i)
- | }
- kvp: scala.collection.immutable.IndexedSeq[(Int, Int)] = Vector((1,1), (2,4), (3,9), (4,16), (5,25))
- Sequences and Sets
- // sequence
- // Indexed - Array
- // Linear - List, Vector (LinkedLists of 32 element arrays)
- // set - no dups
- Convert a Seq to Map
- scala> val kvpMap = kvp.map(k => k._1 -> k._2).toMap
- kvpMap: scala.collection.immutable.Map[Int,Int] = Map(5 -> 25, 1 -> 1, 2 -> 4, 3 -> 9, 4 -> 16)
- Flatten a list of tuples
- val a = List(1,3,5)
- val b = List(2,4,6)
- val listOfTuples = a.zip(b) // List( (1,2), (3,4), (5,6))
- val flatList = listOfTuples.flatMap(x => List(x._1, x._2)) // List(1,2,3,4,5,6)
- Seperate Even and Odd Numbers in a list
- val list = (1 to 10)
- val g = list.groupBy(x => x % 2)
- // returns: Map(1 -> Vector(1, 3, 5, 7, 9), 0 -> Vector(2, 4, 6, 8, 10))
- takeWhile
复制代码
|
|