拉链的介绍和使用 | 学习笔记

简介: 快速学习拉链的介绍和使用

开发者学堂课程【Scala 核心编程 - 进阶拉链的介绍和使用学习笔记,与课程紧密连接,让用户快速学习知识。

课程地址https://developer.aliyun.com/learning/course/610/detail/9059


拉链的介绍和使用


内容介绍

一.拉链简介

二.应用实例

三.注意事项

四.总结概括


一.拉链简介

在生活中我们用过很多拉链,那么扩展-拉链,就是在开发中,当我们需要将两个集合进行对偶元组合并,可以使用拉链。


二.应用实例

//拉链

val list1 = List(1,2,3)

val list2 = List(4,5, 6)

val list3 = list1.zip(list2)//

println("list3="+ list3)

进行运行的时候,很像一个拉链,这里有两个历史的结合,想合并,就像你出一张牌我出一张牌,形成一个对偶,所以说这样就是历史的1,和历史2,结果变成了(1.4),

意思就是你出一个,我出一个,就是一个结果,然后你再出一个,我再出一个,这个又是一个元素,这种设计在我们开发中合并可能是有的,两个元祖的比较,比较完了之后再进行比较,像学的算法,有规定算法,类似于这种感觉,我们把它打散然后再进行比较,可能是有应用场景的,相当于是说对偶元祖的合并。

直接将代码跑一下, 命名为 zipdemo01 走一个函数,稍微把代码整理一下,有两个历史,然后进行一个拉链的整合,最后这个结果输出来,看一下跟我们的结果想的是否一致,这个是一个历史的,里面放的是对偶的元素,第一个我们就输完了。


三.注意事项

1.拉链的本质就是两个集合的合并曹中文,合并后每个元素是一个对偶元祖。就是每个元祖是只有两个元素,然后我们就称为对偶元素。

2.操作的规则下图

val list1=list(1.2.3)

val list2=list(4.5.6)

3.如果两个集合个数不对应,会造成数据丢失,假如我历史的1只有两个元素,这个时候会怎么合并,你出一个我出一个5,相当于6被舍弃了,就会造成数据的丢失。

4.集合不限于 list ,也可以是其他集合如 array,我们讲的不是针对某一个集合,是集合都有某一个特性,比如说我两个数组来进行操作,也是可以的。

5.如果要取出合并后的各个对偶元祖的数据,可以遍历。因为每一个遍历出来的都是对偶,就是对划线的操作就行了。


四.总结概括

首先是对拉链进行实际介绍,在开发中,当我们需要将两个集合进行对偶元祖合并时,可以使用拉链,然后应用事例,就是我们所写的代码,后面又讲了注意事项,也就是拉链的使用注意事项。

for(item<list3)

print(item._1+“”+item_2)//取出时,按照元祖的方式取出即可

相关文章
|
前端开发 网络安全 网络协议
系统诊断小技巧(10):ssh/sshd的调试模式
网络应用的逻辑一般都是集中在两端。所以端到端的排查思路是解决问题的重要思路。排查ssh问题也是如此。 那么,怎么让ssh两端输出更多信息呢? 如何启动调试选项? ssh和sshd都有配置选项和命令行选项来启动调试。
6447 0
|
机器学习/深度学习 人工智能 自然语言处理
探索AIGC的底层技术:人工智能通用计算架构
探索AIGC的底层技术:人工智能通用计算架构
844 3
|
10月前
|
Web App开发 监控 网络协议
网络分析与监控:阿里云拨测方案解密
阿里云网络拨测业务提供了全球、多种协议、多种网络态势的用户网络性能和用户体验监控场景的全面可观测方案。该文章从拨测场景下,介绍了用户如何快速的构建一套全球用户视角的服务可用性大盘,为客户的业务保驾护航。
1351 168
|
9月前
|
计算机视觉
RT-DETR改进策略【损失函数篇】| Shape-IoU:考虑边界框形状和尺度的更精确度量
RT-DETR改进策略【损失函数篇】| Shape-IoU:考虑边界框形状和尺度的更精确度量
249 1
RT-DETR改进策略【损失函数篇】| Shape-IoU:考虑边界框形状和尺度的更精确度量
|
11月前
|
供应链 搜索推荐 算法
淘宝电商运营的小秘籍,看完血赚。
在淘宝电商竞争激烈的环境中,掌握实用运营技巧是成功的关键。本文深入剖析了淘宝电商运营的五大核心策略:精准市场定位与选品、引人入胜的店铺装修、优质客户服务、灵活营销推广及数据驱动决策。通过这些技巧,你可以在淘宝平台上打造独具魅力的店铺,吸引更多流量和客户,实现销售业绩稳步增长,最终脱颖而出,成为知名品牌。
1118 10
|
网络协议 网络性能优化 PHP
|
关系型数据库 MySQL Linux
Navicat 连接 Windows、Linux系统下的MySQL 各种错误,修改密码。
使用Navicat连接Windows和Linux系统下的MySQL时可能遇到的四种错误及其解决方法,包括错误代码2003、1045和2013,以及如何修改MySQL密码。
1213 0
|
机器学习/深度学习 API 网络架构
"解锁机器学习超级能力!Databricks携手Mlflow,让模型训练与部署上演智能风暴,一触即发,点燃你的数据科学梦想!"
【8月更文挑战第9天】机器学习模型的训练与部署流程复杂,涵盖数据准备、模型训练、性能评估及部署等步骤。本文详述如何借助Databricks与Mlflow的强大组合来管理这一流程。首先需在Databricks环境内安装Mlflow库。接着,利用Mlflow跟踪功能记录训练过程中的参数与性能指标。最后,通过Mlflow提供的模型服务功能,采用REST API或Docker容器等方式部署模型。这一流程充分利用了Databricks的数据处理能力和Mlflow的生命周期管理优势。
556 7
|
存储 人工智能 关系型数据库
MySQL 8.0 字符集与比较规则介绍
我们都知道 MySQL 8.0 与 MySQL 5.7 的区别之一就是默认字符集从 latin1 改成了 utf8mb4 ,除此之外,MySQL 8.0 下的字符集和比较规则还有没有其他变化呢?本篇文章我们一起来学习下。
856 1
|
Java API 数据库
深入解析:使用JPA进行Java对象关系映射的实践与应用
【4月更文挑战第17天】Java Persistence API (JPA) 是Java EE中的ORM规范,简化数据库操作,让开发者以面向对象方式处理数据,提高效率和代码可读性。它定义了Java对象与数据库表的映射,通过@Entity等注解标记实体类,如User类映射到users表。JPA提供持久化上下文和EntityManager,管理对象生命周期,支持Criteria API和JPQL进行数据库查询。同时,JPA包含事务管理功能,保证数据一致性。使用JPA能降低开发复杂性,但需根据项目需求灵活应用,结合框架如Spring Data JPA,进一步提升开发便捷性。
290 0