25_Scala集合Tuple

文章目录

  • tuple
  • 1.元组定义
  • 2.Tuple元素访问
  • 3.如果元素的len=2,称之为键值对对象,也称之为对偶元组
  • 4.补充上节Map
  • 5.Map集合遍历
  • 6.集合之间相互转化

tuple

概念:scala语言采用特殊的方式将无关的数据作为一个整体,组合在一起’

1.元组定义

–Tuple3[Int,String,Boolean] 元组类型,3表示元素个数,后面[]装泛型
–关于数据类型 Tuple3[Int,String,Boolean]等价于(Int,String,Boolean)
–最大Tuple22 元素个数最多22个 函数式编程参数个数最多也是22个
–Tuple集合限制是数据的个数,不限制数据的类型;

//1.元组定义
val tuple: Tuple3[Int, String, Boolean] = (1, "asd", false)
val tuple1: (Int, String, Boolean) = (1, "asd", false)

2.Tuple元素访问

–没有循环操作,数据之间没有关系,没有相同的循环逻辑
–采用顺序号访问 tuple._1 访问第一个元素
–使用索引的方式访问 productElement(idx)

//    2.Tuple元素访问
println(tuple._1) //1
println(tuple._2) //asd
println(tuple._3) //false

在这里插入图片描述

3.如果元素的len=2,称之为键值对对象,也称之为对偶元组

–形式上和上结课map的键值对形式一样(“a”,1)

//    3.如果元素的len=2,称之为键值对对象,也称之为对偶元组
val t1 = ("a", 1)
val t2 = ("b", 2)

4.补充上节Map

Map定义可以使用键值对对象进行构建

//    4.Map定义可以使用键值对对象进行构建import scala.collection.mutableval map = mutable.Map(("a",1),("b",2),("c",3))println(map)//Map(b -> 2, a -> 1, c -> 3)

5.Map集合遍历

在这里插入图片描述

for (kv <- map){print(kv._1+"    ")    //打印元组第一个元素println(kv._2)
}

在这里插入图片描述

6.集合之间相互转化

Array,Seq,Set 任意转化直接使用toxxx()方法,想转化什么转化什么
–但是三者不能向Map转化,原因是没有键值对概念;

–Map可以向Array,Seq,Set转化,转化过程将键值对对象当作一个元素来看待;(“a”,1)作为一个元素

特殊情况,如果Array,Seq,Set的元素是对偶元组,那么可以向Map转化,不推荐

//    6.集合之间的转化
val ints = Array(1, 2, 3, 4)
val seq = ints.toSeq
val set = seq.toSet
val set1 = map.toSet
print(set1)

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/688543.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

3款超好用的智能AI写作神器,不容错过!

在当代写作领域&#xff0c;人工智能&#xff08;AI&#xff09;辅助的写作工具已显著地改变了创作过程&#xff0c;不仅优化了撰写效率还提高了内容质量。为了协助读者更好地了解并利用这些先进的工具&#xff0c;本文将详细评述3种卓越的AI驱动的写作辅助软件&#xff0c;每一…

车辆管理|基于SprinBoot+vue的4S店车辆管理系统(源码+数据库+文档)

4S店车辆管理系统 目录 基于SprinBootvue的4S店车辆管理系统 一、前言 二、系统设计 三、系统功能设计 系统实现 1管理员功能模块 2销售员功能模块 3维修员功能模块 四、数据库设计 五、核心代码 六、论文参考 七、最新计算机毕设选题推荐 八、源码获取&#xf…

scikit-learn多因子线性回归预测房价

1.首先是单因子线性回归预测房价 import numpy as np import pandas as pd from matplotlib import pyplot as plt from sklearn.linear_model import LinearRegression from sklearn.metrics import mean_squared_error, r2_score# 1.读取csa房屋数据 path D:/pythonDATA/us…

鸿蒙OpenHarmony开发板解析:【系统能力配置规则】

如何按需配置部件的系统能力 SysCap&#xff08;SystemCapability&#xff0c;系统能力&#xff09;是部件向开发者提供的接口的集合。 开发前请熟悉鸿蒙开发指导文档&#xff1a;gitee.com/li-shizhen-skin/harmony-os/blob/master/README.md点击或者复制转到。 部件配置系统…

el-select选项框内容过长

利用popper-class实现选项框内容过长&#xff0c;截取显示功能&#xff1a; <el-select popper-class"popper-class" :popper-append-to-body"false" v-model"value" placeholder"请选择"><el-optionv-for"item in opt…

Linux 第二十七章

&#x1f436;博主主页&#xff1a;ᰔᩚ. 一怀明月ꦿ ❤️‍&#x1f525;专栏系列&#xff1a;线性代数&#xff0c;C初学者入门训练&#xff0c;题解C&#xff0c;C的使用文章&#xff0c;「初学」C&#xff0c;linux &#x1f525;座右铭&#xff1a;“不要等到什么都没有了…

基于SpringBoot+Vue的笔记共享平台 免费获取源码

项目源码获取方式放在文章末尾处 项目技术 数据库&#xff1a;Mysql5.7/8.0 数据表&#xff1a;10张 开发语言&#xff1a;Java(jdk1.8) 开发工具&#xff1a;idea 前端技术&#xff1a;vue 后端技术&#xff1a;SpringBoot 功能简介 (有文档) 项目获取关键字&#…

数据库数据恢复—SQL Server数据库ndf文件变为0KB的数据恢复案例

SQL Server数据库故障&#xff1a; 存储设备损坏导致存储中SQL Server数据库崩溃。对数据库文件进行恢复后&#xff0c;用户发现有4个ndf文件的大小变为0KB。该SQL Server数据库每10天生成一个大小相同的NDF文件&#xff0c;该SQL Server数据库包含两个LDF文件。 SQL Server数据…

笨方法自学python(五)-字符串和文本

字符串和文本 在这章习题中我们将使用复杂的字符串来建立一系列的变量&#xff0c;从中你将学到它们的用途。首先我们解释一下字符串是什么 东西。 字符串通常是指你想要展示给别人的、或者是你想要从程序里“导出”的一小段字符。Python 可以通过文本里的双引号 " 或者单…

会员卡积分收银源码系统 支持多门店系统 带完整的安装代码包以及安装搭建教程

在数字化浪潮的推动下&#xff0c;传统零售行业面临着巨大的转型压力。为了满足现代消费者多样化的需求&#xff0c;提高门店管理效率和顾客满意度&#xff0c;小编给大家分享一款会员卡积分收银源码系统——支持多门店系统&#xff0c;并附带了完整的安装代码包以及安装搭建教…

西门子PLC定时器使用与疑难杂症

一、简介 S7-200提供了256个定时器&#xff0c;依据分辨率分三种类型&#xff1a;1ms&#xff0c;10ms和100ms&#xff1b;依据功能分为接通延时定时器&#xff08;TON&#xff09;、有记忆的接通延时定时器&#xff08;TONR)和断开延时定时器&#xff08;TOF)。 接通延时定时…

QT的C++版本是如何从ui文件编译成C++可以使用的.h文件的

Desktop_Qt_6_7_0_MinGW_64_bit是一个编译器&#xff0c;可以将ui文件编译为.h文件。我们可以在项目文件下看到这一样一个文件&#xff1a; 这里的ui_mainwindow.h文件我们可以打开看一下&#xff1a;你会发现你所有的ui设计都被记录在了这里。 /***************************…