/**
* 不可变长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. Python学习---DjangoForm的总结大全

    DjangoForm基础知识总结 1.Form是什么东西? 用于验证用户请求数据合法性的一个组件 2. Django的Form的实现步骤: a. 创建一个验证用户请求的模板 from django i ...

  2. Connection to linux server with ORACLE SQL DEVELOPER

    1.Link name is random 2.username and password is database account 3.host name  is ip address  ifconf ...

  3. TMG 2010 使用脚本来导入URL集和域名集

    作为一个网管,相信有领导叫你限制员工上网的情况,例如只限制员工访问某些网站.在禁止的网站数量少的时候,添加URL集或者域名集是一件很简单的事情,如果禁止的网站数量多达1500个呢?如果再使用ISA S ...

  4. December 21st 2016 Week 52nd Wednesday

    Keep conscience clear, then never fear. 问心无愧,永不畏惧. I find it is very difficult for me to keep consci ...

  5. npm ERR! path: '/usr/local/lib/node_modules/npm/node_modules/cacache/node_modules/ssri' }

    在安装appium 或者升级npm的过程中会遇到这个问题.出错时的代码提示如下: npm ERR! path /usr/local/lib/node_modules/npm/node_modules/ ...

  6. Bypass xss过滤的测试方法

    0x00 背景 本文来自于<Modern Web Application Firewalls Fingerprinting and Bypassing XSS Filters>其中的byp ...

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

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

  8. BZOJ 3211 花神游历各国 线段树平方开根

    题目链接: https://www.lydsy.com/JudgeOnline/problem.php?id=3211 题目大意: 思路: 由于数据范围只有1e9,一个数字x开根号次数超过logx之后 ...

  9. 使用tidylib解决不规则网页问题

    windows 下安装tidylib 先去https://pypi.python.org/pypi/pytidylib 下载pytidylib 跑官方提供的测试用例报错 ition 0: unexpe ...

  10. html字段验证

    (1)连接去掉下划线:style="text-decoration:none" <a href="/example/html/lastpage.html" ...