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,不同类型值的聚集.将固定数量的项目组合在一起,以便它们可以作为一个整体传递. 与数组或列表不同,元组可以容纳不同类型的对象,但它们也是不可变的.元祖的实际类型取决于它的分量的类型,比 ...
随机推荐
- 最近编译tolua_runtime安卓编译错误
编译时出现以下错误In file included from lj_ffrecord.c:859:0: lj_recdef.h:224:1: error: ‘recff_rawlen’ undecla ...
- Azure之旅
http://www.microsoft.com/web/downloads/platform.aspx http://www.microsoft.com/en-us/download/details ...
- CXF+JAXB处理复杂数据
CXF+JAXB处理复杂数据 CXF默认使用JAXB 来实现对象和XML之间的映射.在前面的例子 中,使用CXF发布的Webservice,其方法的参数和返回值都是简单类型. 本文讨论对象复杂性的 ...
- django创建项目问题解决办法
问题描述: Python编程:从入门到实践第十八章18.1.6 ❶(ll_env)learning_log$ django-admin.py startproject learning_log .❷ ...
- 「LGP4719【模板】动态dp」
题目 尽管知道这个东西应该不会考了,但是还是学一学吧 哎要是去年noip之前学该多好 动态\(dp\)就是允许修改的一个\(dp\),比如这道题,我们都知道这是一个树上最大点权独立集 众所周知方程长这 ...
- TensorFlow学习之 图像预处理
import tensorflow as tf import matplotlib.pyplot as plt image_raw_data = tf.gfile.GFile("./pict ...
- Jpa条件查询组合查询and 和 or同时用
条件查询,各个条件之间是and并且&&关系,其中地理信息省市区县,例如河北省,要包括其下属所有城市,每个城市包括下属区县,只选择河北省时候,要查询的是河北省所有的,他们之间是or 或者 ...
- HDU 3790(两种权值的迪杰斯特拉算法)
传送门: http://acm.hdu.edu.cn/showproblem.php?pid=3790 最短路径问题 Time Limit: 2000/1000 MS (Java/Others) ...
- C#泛型约束 (转载)
六种类型的约束: T:结构 类型参数必须是值类型.可以指定除 Nullable 以外的任何值类型.有关更多信息,请参见使用可空类型(C# 编程指南). T:类 类型参数必须是引用类型,包括任何类.接口 ...
- Android——sqlite3 基本命令操作
平时用到database的地方不多,这里记录一下shell终端下直接对db的基本操作! 撰写不易,转载请注明出处:http://blog.csdn.net/jscese/article/details ...