Scala数据结构】的更多相关文章

Scala数据结构 主要的集合特质 Scala同时支持可变集合和不可变集合,优先采用不可变集合.集合主要分为三大类:序列(List),集(set),映射(map).所有的集合都扩展自Iterable特质.对几乎所有的集合类,Scala都同时提供了可变和不可变版本. Seq是一个有先后次序的值的序列.IndexedSeq能够通过整形下表快速访问 Set是一个没有先后顺序的集合. Map是一组键值对偶,SortedMap按照键的排序访问其中的实体. 数组 定长数组 val nums = new Ar…
10.1 数据结构特点 10.1.1 Scala集合基本介绍 uml => 统一建模语言 1) Scala同时支持不可变集合和可变集合,不可变集合可以安全的并发访问 两个主要的包 不可变集合:scala.collection.immutable 可变集合:scala.collection.mutable 2) Scala默认采用不可变集合,对于几乎所有的集合类,Scala都同时提供了可变(mutable)和不可变(immutable)的版本 3) Scala的集合有三大类:序列Seq(有序的,L…
1 数据结构特点 scala集合基本介绍 1)Scala同时支持不可变集合和可变集合,不可变集合可以安全的并发访问 2)两个主要的包: 不可变集合:scala.collection.immutable 可变集合: scala.collection.mutable 3)Scala默认采用不可变集合,对于几乎所有的集合类,Scala都同时提供了可变(mutable)和不可变(immutable)的版本 4)Scala的集合有三大类:序列Seq.集Set.映射Map,所有的集合都扩展自Iterable…
11.1 集合元素的映射-map映射操作 11.1.1 看一个实际需求 要求:请将List(3,5,8)中所有的元素都*2,将其结果放到一个新的集合中返回,即返回一个新的List(6,10,16),请编写程序实现 11.1.2 map映射操作    11.1.3 使用传统方法 -案例演示 object boke_demo01 { def main(args: Array[String]): Unit = { /* 请将List(3,5,8) 中的所有元素都 * 2 , 将其结果放到一个新的集合中…
一.概述 1,特点 )Scala同时支持不可变集合和可变集合 )两个主要的包: 不可变集合:scala.collection.immutable 可变集合: scala.collection.mutable )Scala默认采用不可变集合,对于几乎所有的集合类,Scala都同时提供了可变(mutable)和不可变(immutable)的版本 )Scala的集合有三大类:序列Seq.集Set.映射Map,所有的集合都扩展自Iterable特质,在Scala中集合有可变(mutable)和不可变(i…
一.集合的基础操作 1,head头信息 //获取集合的第一个元素 val list = List(,,) list.head // 2,tail尾信息 //获取集合除去头元素之外的所有元素 val list = List(,,) list.tail //List(3,5) 3,last最后元素 //获取集合的最后一个元素 val list = List(,,) list.last // 4,init初始化 //获取集合除去最后一个元素的前面所有元素 val list = List(,,) pri…
1 流 Stream stream是一个集合.这个集合,可以用于存放无穷多个元素,但是这无穷个元素并不会一次性生产出来,而是需要用到多大的区间,就会动态的生产,末尾元素遵循lazy规则(即:要使用结果才进行计算的) . 创建Stream对象 def numsForm(n: BigInt) : Stream[BigInt] = n #:: numsForm(n + 1) val stream1 = numsForm(1) 说明 Stream 集合存放的数据类型是BigInt numsForm 是自…
1 filter filter:将符合要求的数据(筛选)放置到新的集合中 应用案例:将 val names = List("Alice", "Bob", "Nick") 集合中首字母为'A'的筛选到新的集合. 思考:如果这个使用传统的方式,如何完成? val names = List("Alice", "Bob", "Nick") def startA(s:String): Boolea…
在Scala中可以通过map映射操作来解决: 将集合中的每一个元素通过指定功能(函数)映射(转换)成新的结果集合这里其实就是所谓的将函数作为参数传递给另外一个函数,这是函数式编程的特点 以HashSet为例说明 def map[B](f: (A) ⇒ B): HashSet[B] //map函数的签名 1)这个就是map映射函数集合类型都有 2)[B] 是泛型 3)map 是一个高阶函数(可以接受一个函数的函数,就是高阶函数),可以接收 函数 f: (A) => B 后面详解(先简单介绍下.)…
集是不重复元素的结合.集不保留顺序,默认是以哈希集实现 默认情况下,Scala 使用的是不可变集合,如果你想使用可变集合,需要引用 scala.collection.mutable.Set 包 1 集 Set-创建 Set不可变集合的创建 val set = Set(1, 2, 3) //不可变 println(set) Set可变集合的创建 import scala.collection.mutable.Set val mutableSet = Set(1, 2, 3) //可变 import…