/**
* 不可变长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的更多相关文章

  1. Scala 中Array,List,Tuple的差别

    尽管学了一段时间的Scala了,可是总认为基础不是太扎实,还有非常多的基础知识比較模糊.于是近期又打算又一次学习基础. Scala中的三种集合类型包含:Array,List,Tuple.那么究竟这三种 ...

  2. 【Todo】【转载】Scala中Array, List, Tuple的区别

    参考了这篇文章: https://my.oschina.net/u/1034176/blog/512314 1. 在Scala 2.7中,Array.List都不能混合类型,只有Tuple可以:而在S ...

  3. scala中Map和Tuple

    /** * Created by root * Description : Tuple and Map */ object MapTest { def main(args: Array[String] ...

  4. Scala学习笔记之:tuple、array、Map

    [TOC] 本文<快学Scala>的笔记 tuple学习笔记 tuple的定义 对偶是元组(tuple)的最简单形态--元组是不同类型的值的聚集. 元组的值是通过将单个值包含在圆括号中构成 ...

  5. Scala初探:新潮的函数式面向对象语言

    Scala的基本概念 先讲讲Scala里头几个概念Classes, Traits, Objects and Packages. Class和Java中的很像,只不过Scala中Class不能有stat ...

  6. (升级版)Spark从入门到精通(Scala编程、案例实战、高级特性、Spark内核源码剖析、Hadoop高端)

    本课程主要讲解目前大数据领域最热门.最火爆.最有前景的技术——Spark.在本课程中,会从浅入深,基于大量案例实战,深度剖析和讲解Spark,并且会包含完全从企业真实复杂业务需求中抽取出的案例实战.课 ...

  7. 大数据系列修炼-Scala课程02

    Scala数组操作实战详解 接着昨天的课程,下面我们继续学习关于Scala数组操作详解.Scala数组的定义 //数组定义 //定长数组格式 /** * val arrayName = new Arr ...

  8. Spark记录-Scala集合

    Scala列表 Scala列表与数组非常相似,列表的所有元素都具有相同的类型,但有两个重要的区别. 首先,列表是不可变的,列表的元素不能通过赋值来更改. 其次,列表表示一个链表,而数组是平的. 具有类 ...

  9. Scala(二):元组、数组、映射

    元组:Tuple,不同类型值的聚集.将固定数量的项目组合在一起,以便它们可以作为一个整体传递. 与数组或列表不同,元组可以容纳不同类型的对象,但它们也是不可变的.元祖的实际类型取决于它的分量的类型,比 ...

随机推荐

  1. Http扫盲

    https://www.kancloud.cn/kancloud/tealeaf-http/43832

  2. windows下sqli-labs的搭建及学习(POST篇)

    windows下sqli-labs的搭建及学习(GET篇): http://blog.csdn.net/sherlock17/article/details/64454449 Less-11:基于错误 ...

  3. 如何把GitHub中的开源项目导入到Eclipse

    准备: 1.需要注册GitHub的账号,并找到自己想导入的项目 2.在Eclipse的help-->Marketplace中搜索egit插件,然后安装 操作步骤: 1.有三种导入方式HTTP.S ...

  4. Java的Calendar类

    通过Date类我们可以创建并格式化一个日期对象,但是如何才能设置和获取日期数据的特定部分呢?----Calendar类 Calendar类是一个抽象类,在实际使用时实现特定的子类的对象,通过getIn ...

  5. Linux的图形模式和文本模式以及单用户模式切换

    1.默认开机进入文本模式 如果想让开机自动进纯文本模式, 修改/etc/inittab 找到其中的 id:5:initdefault: 这行指示启动时的运行级是5,也就是图形模式 改成3就是文本模式了 ...

  6. jq实现鼠标经过出现上拉菜单

    <!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF-8&quo ...

  7. JavaScript事件的委派与事件的绑定

    事件的委派 在很多需求中,通常元素是动态创建添加到一个父元素中的,这时候我们点击新增的元素是没有反应的 <script type="text/javascript"> ...

  8. BZOJ 1202 狡猾的商人 差分约束or带权并查集

    题目链接: https://www.lydsy.com/JudgeOnline/problem.php?id=1202 题目大意: 刁姹接到一个任务,为税务部门调查一位商人的账本,看看账本是不是伪造的 ...

  9. BZOJ 1002 轮状病毒 矩阵树定理

    题目链接: https://www.lydsy.com/JudgeOnline/problem.php?id=1002 题目大意: 给定n(N<=100),编程计算有多少个不同的n轮状病毒 思路 ...

  10. KMP算法模板&&扩展

    很不错的学习链接:https://blog.csdn.net/v_july_v/article/details/7041827 具体思路就看上面的链接就行了,这里只放几个常用的模板 问题描述: 给出字 ...