惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

大猫的无限游戏
大猫的无限游戏
H
Hackread – Cybersecurity News, Data Breaches, AI and More
博客园_首页
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
D
Docker
酷 壳 – CoolShell
酷 壳 – CoolShell
宝玉的分享
宝玉的分享
Martin Fowler
Martin Fowler
美团技术团队
量子位
M
MIT News - Artificial intelligence
Apple Machine Learning Research
Apple Machine Learning Research
阮一峰的网络日志
阮一峰的网络日志
博客园 - 叶小钗
博客园 - 三生石上(FineUI控件)
腾讯CDC
Hugging Face - Blog
Hugging Face - Blog
博客园 - 【当耐特】
小众软件
小众软件
博客园 - 司徒正美
罗磊的独立博客
云风的 BLOG
云风的 BLOG
B
Blog RSS Feed
博客园 - 聂微东

博客园 - cindy_zl

SAP SD销售与分销模块 Agent认知框架ReAct&Plan RAG系统优化 RAG检索优化 RAG架构 SAA-C02-架构师助理级-英文版-Q1 scala-数组 navicat mysql创建存储过程报错 安装完kali出现中文乱码 Spark SQL是处理结构化的数据 SPARK SQL ERROR: Detected cartesian product for INNER join between logical plans报错解决方法 scala的lazy关键字 scala集合三大类(seq序列,set集,map映射)——map映射 scala集合三大类(seq序列,set集,map映射)——set集合 scala集合三大类(seq序列,set集,map映射)——list序列 scala的map映射 scala数组 scala方法和涵数的声明以及方法转换成涵数 scala的基础数据类型&if条件表达式&for循环
scala元组及拉链操作
cindy_zl · 2019-09-18 · via 博客园 - cindy_zl

scala元组及拉链操作:

scala里面的元组是可是不同数据类型的

scala> ("scala",1)

res45: (String, Int) = (scala,1)

scala> val t = ("scala",100L,3.14,("spark",1))

t: (String, Long, Double, (String, Int)) = (scala,100,3.14,(spark,1))

scala> t._1                       //元组内空的提取,以下标为1开始,并用._后跟数字的方式进行提取内容

res46: String = scala

scala> t._3

res47: Double = 3.14

scala> t._4._1

res48: String = spark

scala> val t,(a,b,c,d) = ("scala",100L,3.14,("spark",1))            //可以定义元组时给予变量名,如 t,(a, b, c, d),使用时直接用变量名a,b,c,d即可访问对应内容

t: (String, Long, Double, (String, Int)) = (scala,100,3.14,(spark,1))

a: String = scala

b: Long = 100

c: Double = 3.14

d: (String, Int) = (spark,1)

scala> a

res49: String = scala

scala> val arr = Array(("tingting",1),("ningning",3),("huihui",5))

arr: Array[(String, Int)] = Array((tingting,1), (ningning,3), (huihui,5))

scala> val mp = arr.toMap

mp: scala.collection.immutable.Map[String,Int] = Map(tingting -> 1, ningning -> 3, huihui -> 5)

scala拉链操作:

scala> val arr1 = Array("dog","cat","mouse")

arr1: Array[String] = Array(dog, cat, mouse)

scala> val arr2 = Array(1,3,5)

arr2: Array[Int] = Array(1, 3, 5)

scala> arr1 zip arr2                     //拉链操作符

res50: Array[(String, Int)] = Array((dog,1), (cat,3), (mouse,5))

scala> arr2 zip arr1                     //拉链操作符

res51: Array[(Int, String)] = Array((1,dog), (3,cat), (5,mouse))

scala> arr1.zip(arr2)                     //拉链操作符

res52: Array[(String, Int)] = Array((dog,1), (cat,3), (mouse,5))

scala> val arr3 = Array(1,2,3,4,5)     //生成一个比arr1元素多的数组,用少的去zip多的

arr3: Array[Int] = Array(1, 2, 3, 4, 5)

scala> arr1 zip arr3                      //会把长的给截取掉了

res53: Array[(String, Int)] = Array((dog,1), (cat,2), (mouse,3))