【scala】迭代器】的更多相关文章

<chang哥教你一天搞定Scala> /** * <chang哥教你一天搞定Scala> * scala是一门多范式编程语言,集成了面向对象编程和函数式编程等多种特性. * scala运行在虚拟机上,并兼容现有的Java程序. * Scala源代码被编译成java字节码,所以运行在JVM上,并可以调用现有的Java类库. */ /** * 第一个Scala程序 * Scala和Java最大的区别是:Scala语句末尾的分号(:)是可选的! * 编译运行: * 先编译:scalac…
Scala列表 Scala列表与数组非常相似,列表的所有元素都具有相同的类型,但有两个重要的区别. 首先,列表是不可变的,列表的元素不能通过赋值来更改. 其次,列表表示一个链表,而数组是平的. 具有类型T的元素的列表的类型被写为List[T]. 尝试以下示例,这里列出了为各种数据类型定义的列表. // List of Strings val fruit: List[String] = List("apples", "oranges", "pears&quo…
http://blog.csdn.net/pipisorry/article/details/52902549 Scala Collection Scala 集合分为可变的和不可变的集合. 可变集合可以在适当的地方被更新或扩展.这意味着你可以修改,添加,移除一个集合的元素. 而不可变集合类,相比之下,永远不会改变.不过,你仍然可以模拟添加,移除或更新操作.但是这些操作将在每一种情况下都返回一个新的集合,同时使原来的集合不发生改变. 集合类型的应用 1     Scala List(列表)List…
如何访问集合呢?我们首先想到的是使用for循环来访问,还有一种方法是通过迭代器来访问. 在Scala中,迭代器(Iterator)不是一个集合,但是,提供了访问集合的一种方法. 迭代器包含两个基本的操作:1.next(),可以返回迭代器的下一个元素 2.hasnext(),检测是否还有下一个元素 示例 val iter = Iterator("Hadoop","Spark","Java");//定义一个迭代器 while(iter.hasnext…
1. 函数 函数就是一个非常灵活的运算逻辑,可以灵活的将函数传入方法中,前提是方法中接收的是类型一致的函数类型 函数式编程的好处:想要做什么就调用相应的方法(fliter.map.groupBy.sortBy),想要具体怎么做,就传入相应的函数 函数式编程的特点之一就是支持链式编程(不停的函数调用函数) 1.1 一种更加简洁的定义函数的方式(_) 以前的形式 简洁的形式  "_" 相当于一个占位符,将遍历出来的值赋给这个占位符 该占位符号出现两次,其会认为出现两个参数,由于此处就是一个…
1 折叠 fold函数将上一步返回的值作为函数的第一个参数继续传递参与运算,直到list中的所有元素被遍历. 1)可以把reduceLeft看做简化版的foldLeft. 如何理解: def reduceLeft[B >: A](@deprecatedName('f) op: (B, A) => B): B = if (isEmpty) throw new UnsupportedOperationException("empty.reduceLeft") else tail…
Scala中的 apply 方法有着不同的含义, 对于函数来说该方法意味着调用function本身, 以下说明摘自Programming in Scala, 3rd Edition Every function value is an instance of some class that extends one of several FunctionN traits in package scala, such as Function0 for functions with no parame…
yield 在学习c#的时候学习过这个关键字,和这时的语义是一致的. 当你生成一个新的迭代器,而并不是想立刻使用,而是在其他地方使用的时候,可以延迟生成这个集合, 这时候yield关键字可以帮你完成这样的功能. 这就你是一个支票,可以让你在需要的时候向jvm取到集合数据.它是延迟实现的集合. val a=for (i <- 1 to 10 if(i%7 ==0)) yield i println(a) a.foreach(println) String的替换与查找: val str="er…
集合 13.1 集合的三大类 所有的集合都扩展Iterable特质.集合的三大集合为Seq, Set, Map Seq是一个有先后次序的值的序列,比如数组或列表.IndexSeq允许我们通过整型下表快速访问任意元素.但是链表不可以. Set是一组没有先后次序的值.SortedSet中,元素排过序. Map时一组(键,值)对.SortedMap按键排序 每一个Scala集合特质或类都有一个带有apply方法的伴生对象. 13.2 可变和不可变集合 13.3 序列Sequence 不可变序列:Ind…
基础 1.1 声明值和变量 在Scala中,鼓励使用val; 不需要给出值或变量的类型,这个信息可以从初始化表达式推断出来.在必要的时候,可以指定类型. 在Scala中,仅当同一行代码中存在多条语句时才需要用分号隔开. 1.2 常用类型 Scala 7中数值类型:Byte, Char, Short, Int, Long, Float和Double,以及Boolean类型.跟Java不同的是,这些类型是类.可以对数值执行方法,1.toString() Scala不需要类型包装,类型之间的转换是Sc…