scala (7) Set and Tuple
/**
* 不可变长Set集合
*/
val set0 = Set(1, 2, 3, 4, 5)
//++并没有改变原有的set集合,只是将两个set进行合并形成新的set集合
val newSet0 = set0 ++ Set(6, 7, 8, 9)
println(newSet0) /**
* 可变长set集合
*/
val set1 = mutable.Set(1, 3)
//+=或-= 后面只能是单个元素
set1 += 1
set1 += 2
//++= 或 --= 后面只能添加set集合
set1 ++= Set(5, 6, 7)
set1.add(12) set1 -= 1
set1 --= Set(1, 2, 3)
println(set1) /**
* set常用操作方法
*/ //拼接
println(set1.mkString("[", ",", "]"))
//长度
println(set1.size)
//第一个元素
println(set1.head)
//最后一个元素
println(set1.last)
//求和
println(set1.sum)
//最大值
println(set1.max)
//最小值
println(set1.min) /**
* set的转换操作
*/
println("================================================")
set1.map(_*2).filter(x=>x>2).foreach(println(_))
//定义一个元组
val t1 = ("小明", "男", 25)
//元组的下角标是从1开始
println(t1._1 + "=" + t1._2 + "=" + t1._3) //只有两个元素的元组,被称之为 对偶元组(key-value)
val tuple2 = ("id", "123")
println(tuple2._1 + "=" + tuple2._2) //可将将元组的的元素单独赋值给对应的变量
val tuple3, (name, age, sex) = ("xm", 12, "男")
println(tuple3)
println(name)
println(age)
println(sex) println("=============================================")
//数组的拉链操作转换成元组,如果数组中有多余的就会被舍弃掉
val arr1 = Array("a", "b", "c", "d")
val arr2 = Array("A", "B", "C", "D", "E") val arr3: Array[(String, String)] = arr1.zip(arr2)
println(arr3.toBuffer)
scala (7) Set and Tuple的更多相关文章
- Scala 中Array,List,Tuple的差别
尽管学了一段时间的Scala了,可是总认为基础不是太扎实,还有非常多的基础知识比較模糊.于是近期又打算又一次学习基础. Scala中的三种集合类型包含:Array,List,Tuple.那么究竟这三种 ...
- 【Todo】【转载】Scala中Array, List, Tuple的区别
参考了这篇文章: https://my.oschina.net/u/1034176/blog/512314 1. 在Scala 2.7中,Array.List都不能混合类型,只有Tuple可以:而在S ...
- scala中Map和Tuple
/** * Created by root * Description : Tuple and Map */ object MapTest { def main(args: Array[String] ...
- Scala学习笔记之:tuple、array、Map
[TOC] 本文<快学Scala>的笔记 tuple学习笔记 tuple的定义 对偶是元组(tuple)的最简单形态--元组是不同类型的值的聚集. 元组的值是通过将单个值包含在圆括号中构成 ...
- Scala初探:新潮的函数式面向对象语言
Scala的基本概念 先讲讲Scala里头几个概念Classes, Traits, Objects and Packages. Class和Java中的很像,只不过Scala中Class不能有stat ...
- (升级版)Spark从入门到精通(Scala编程、案例实战、高级特性、Spark内核源码剖析、Hadoop高端)
本课程主要讲解目前大数据领域最热门.最火爆.最有前景的技术——Spark.在本课程中,会从浅入深,基于大量案例实战,深度剖析和讲解Spark,并且会包含完全从企业真实复杂业务需求中抽取出的案例实战.课 ...
- 大数据系列修炼-Scala课程02
Scala数组操作实战详解 接着昨天的课程,下面我们继续学习关于Scala数组操作详解.Scala数组的定义 //数组定义 //定长数组格式 /** * val arrayName = new Arr ...
- Spark记录-Scala集合
Scala列表 Scala列表与数组非常相似,列表的所有元素都具有相同的类型,但有两个重要的区别. 首先,列表是不可变的,列表的元素不能通过赋值来更改. 其次,列表表示一个链表,而数组是平的. 具有类 ...
- Scala(二):元组、数组、映射
元组:Tuple,不同类型值的聚集.将固定数量的项目组合在一起,以便它们可以作为一个整体传递. 与数组或列表不同,元组可以容纳不同类型的对象,但它们也是不可变的.元祖的实际类型取决于它的分量的类型,比 ...
随机推荐
- Python初学者第十九天 函数(3)
19day 函数 1.作用域 Python中,一个函数就是一个作用域.所有的局部变量都是放在当前的作用域里面 代码定义完成后,作用域已经生成,作用域链向上查找 2.匿名函数 当需要暂时性的用到一个函数 ...
- exchange 2010 邮件服务器owa证书更新
exchange 2010应用环境 四台前端服务器,两台位于DMZ区,两台位于办公网环境,办公网和DMZ的服务器做了NLB负载均衡,操作系统为windows server 2008 r2. 目前前端h ...
- git使用教程2-更新github上代码
前面一篇已经实现首次上传代码到github了,迈出了装逼第一步,本篇继续讲如何把本地更新的代码同步更新到github上 一.clone代码 1.把大神的代码clone到本地,或者clone自己gith ...
- Exchange邮件系统日志查看及管理
1.查看邮件服务器上某个时间段内的所有邮件信息: Get-MessageTrackingLog -ResultSize Unlimited -Start "3/6/2015 8:40AM&q ...
- MVC中使用EF的技巧集(二)——分部验证
1.从数据库生成模型后,再次更新模型时,之前设置的验证规则会丢失. 解决方法:在Models文件夹中新建一个空白类,把它命名为shujuyanzh.cs(类名可以自定),然后把Models中自动生成的 ...
- my target
目前看来 任何模块 改代码不是问题target是写得一手好代码.设计模式. 语法日积月累.c++ 先看media
- scala当中的继承
1.Scala中继承(extends)的概念 Scala 中,让子类继承父类,与 Java 一样,也是使用 extends 关键字: 继承就代表,子类可继承父类的 field 和 method ,然后 ...
- unittest:1 用例编写
unittest是python自带的单元测试框架,包含测试用例case,测试集suite,测试集加载loader,测试执行runner,测试结果result等. 简单使用:写一个用例类继承自unitt ...
- antlr-2.7.6.jar的作用
项目中没有添加antlr-2.7.6.jar,hibernate不会执行hql语句 并且会报NoClassDefFoundError: antlr/ANTLRException错误
- struts2中两个action之间的跳转(struts.xml)
1. action的配置中,有一个为"redirectAction”(重定向到一个Action)和chain(就是所谓的action请求链)的action类型顺便说一下struts2的act ...