scala学习之第三天:数组的特性与使用技巧
/* ---示例代码----*/ scala> val va=Array(1,2,3)
va: Array[Int] = Array(1, 2, 3)
scala> val seq1:Seq[Int] = va
seq1: Seq[Int] = WrappedArray(1, 2, 3) /* ---示例代码----*/
/* ---示例代码----*/ scala> val va=Array(1,2,3)
va: Array[Int] = Array(1, 2, 3)
scala> va.reverse
res2: Array[Int] = Array(3, 2, 1) /* ---示例代码----*/
/* ---示例代码----*/ scala> val va=Array(1,2,3)
va: Array[Int] = Array(1, 2, 3)
scala> intArrayOps(va)
res3: scala.collection.mutable.ArrayOps[Int] = [I(1, 2, 3)
scala> res3.reverse
res5: Array[Int] = Array(3, 2, 1) scala> val ops:collection.mutable.ArrayOps[Int] = va
ops: scala.collection.mutable.ArrayOps[Int] = [I(1, 2, 3)
scala> ops.reverse
res0: Array[Int] = Array(3, 2, 1) /* ---示例代码----*/
/* ---示例代码----*/ scala> val s = Set(1,2,3)
s: scala.collection.immutable.Set[Int] = Set(1, 2, 3)
scala> val s1 = List(1,2,3)
s1: List[Int] = List(1, 2, 3)
scala> s == s1
res6: Boolean = false scala> var ss = collection.immutable.TreeSet(1,2,3)
ss: scala.collection.immutable.TreeSet[Int] = TreeSet(1, 2, 3)
scala> var ss1 = collection.immutable.HashSet(1,2,3)
ss1: scala.collection.immutable.HashSet[Int] = Set(1, 2, 3)
scala> ss ==ss1
res7: Boolean = true scala> import collection.mutable.{HashMap,ArrayBuffer}
import collection.mutable.{HashMap, ArrayBuffer}
scala> val buf = ArrayBuffer(1,2,3)
buf: scala.collection.mutable.ArrayBuffer[Int] = ArrayBuffer(1, 2, 3)
scala> val map = HashMap(buf -> 5)
map: scala.collection.mutable.HashMap[scala.collection.mutable.ArrayBuffer[Int],Int] = Map(ArrayBuffer(1, 2, 3) -> 5)
scala> map(buf)
res8: Int = 5
scala> buf(0) += 2
scala> map(buf)
java.util.NoSuchElementException: key not found: ArrayBuffer(3, 2, 3)
/* ---示例代码----*/
/* ---示例代码----*/ scala> val v =Vector(1 to 10: _*)
v: scala.collection.immutable.Vector[Int] = Vector(1, 2, 3, 4, 5, 6, 7, 8, 9, 10)
scala> v map (_ + 1) map(_* 2)
res11: scala.collection.immutable.Vector[Int] = Vector(4, 6, 8, 10, 12, 14, 16, 18, 20, 22) scala> val vv = v.view
vv: scala.collection.SeqView[Int,scala.collection.immutable.Vector[Int]] = SeqView(...)
scala> val vvv = vv map(_+2) map(_*2)
vvv: scala.collection.SeqView[Int,Seq[_]] = SeqViewMM(...)
scala> vvv.force
res12: Seq[Int] = Vector(6, 8, 10, 12, 14, 16, 18, 20, 22, 24) /* ---示例代码----*/
scala学习之第三天:数组的特性与使用技巧的更多相关文章
- Scala学习笔记(三):基础知识
有了可运行的环境,就需要写一些简单的语句来认识一下Scala,本文没有写那么详细,只是为了方便查看.唤起回忆 (1)变量的定义方法 Scala有两种变量 var val 注意:在解释器中,可以用一个之 ...
- Scala学习教程笔记三之函数式编程、集合操作、模式匹配、类型参数、隐式转换、Actor、
1:Scala和Java的对比: 1.1:Scala中的函数是Java中完全没有的概念.因为Java是完全面向对象的编程语言,没有任何面向过程编程语言的特性,因此Java中的一等公民是类和对象,而且只 ...
- Scala学习笔记(三)类层级和特质
无参方法 功能:将方法的定义转换为属性字段的定义: 作用范围:方法中没有参数,并且方法仅能通过读取所包含的对象属性去访问可变状态,而不改变可变状态,就可使用无参方法: 例子: abstract cla ...
- Go语言学习笔记(三)数组 & 切片 & map
加 Golang学习 QQ群共同学习进步成家立业工作 ^-^ 群号:96933959 数组 Arrays 数组是同一种数据类型的固定长度的序列. 数组是值类型,因此改变副本的值,不会改变本身的值: 当 ...
- Scala学习笔记(四)—— 数组
定长数组Array 定义定长数组用Array,有如下几种方法: 初始化一个长度为8的定长数组,其所有元素默认值均为0 scala> new Array[Int](8) res0: Array[I ...
- 快学Scala习题解答—第三章 数组相关操作
3 数组相关操作 3.1 编写一段代码.将a设置为一个n个随机整数的数组,要求随机数介于0(包括)和n(不包括)之间 random和yield的使用 import scala.math.rando ...
- Scala学习系列(三)——入门与基础
本课程源码共享于 https://github.com/tree1123/learning-scala 首先,打开IDEA编辑器的SbtExampleProject项目,我们将在这个项目下进行练习 本 ...
- Scala学习笔记(三):==,eq与equals的区别
== Scala中==与java中不同,它是比较值是否相等的,无论比较对象是否是相同类型 List(1, 2, 3) == List(1, 2, 3) //true 1==1.0//true equa ...
- Scala学习笔记(三)—— 方法和函数
1. 方法 方法使用 def 定义: def 方法名(参数名:参数列表,…) :返回值类型 = { 方法结构体 } scala> def add(x : Int ,y : Int):Int = ...
随机推荐
- Android WebView 获取网页的标题
final TextView txtTitle = (TextView) findViewById(R.id.txtTitle); final WebView webView = (WebView)f ...
- IOS UILabel 根据内容自适应高度
iOS Label 自适应高度 适配iOS7以后的版本 更多 self.contentLabelView = [[UILabel alloc] init]; self.contentLabelVie ...
- 系统自带的NSJSONSerialization解析json文件
#import "ViewController.h" #import "Student.h" #import "GDataXMLNode.h" ...
- 【原】UIView实现点击着重效果的解决方案
我们知道,在IOS中UIButton UIControl都有一个默认的选中效果,即点中后会图标会变暗,移开后又恢复正常.如何让UIView UIImageView等这些普通的view也实现同样的效果呢 ...
- iOS设计模式 - 命令模式
前言: 命令对象封装了如何对目标执行指令的信息,因此客户端或调用者不必了解目标的任何细节,却仍可以对他执行任何已有的操作.通过把请求封装成对象,客 户端可 以把它参数化并置入队列或日志中,也能够支持可 ...
- [Nginx][HttpUpstreamModule]翻译负载均衡
英文原文地址:http://nginx.org/en/docs/http/ngx_http_upstream_module.html 大纲: 示例 指令 嵌入变量 ngx_http_upstream_ ...
- openstack kilo compute更新后报错IncompatibleObjectVersion: Version 1.2 of PciDeviceList is not supported
前几天在compute节点更新openstack的包后,发现报错IncompatibleObjectVersion: Version 1.2 of PciDeviceList is not suppo ...
- Swing应用开发实战系列之二:设计日期选择面板窗口
Swing本身没有提供什么华丽丽的日期时间选择控件,所以笔者就在网上搜了个第三方的jar包jdatepicker-1.3.2.jar,基于此设计了个很轻量的日期选择面板,很简单的.效果图如下所示: 代 ...
- [转]Linux下权限掩码umask
本文转自:http://www.cnblogs.com/123-/p/4188942.html ---------------------------------------------------- ...
- C标准头文件概述
C的C89标准一共定义了15个头文件,这些头文件具有幂等性(多次包含同一个头文件的效果等同于只包含了一个头文件,例外),独立性(每个标准头文件的正常工作都不需要以包含其他标准头文件为前提,也没有任何标 ...