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

推荐订阅源

TaoSecurity Blog
TaoSecurity Blog
Jina AI
Jina AI
雷峰网
雷峰网
月光博客
月光博客
The GitHub Blog
The GitHub Blog
WordPress大学
WordPress大学
B
Blog RSS Feed
美团技术团队
C
CXSECURITY Database RSS Feed - CXSecurity.com
小众软件
小众软件
Security Latest
Security Latest
Microsoft Azure Blog
Microsoft Azure Blog
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
C
Cybersecurity and Infrastructure Security Agency CISA
Last Week in AI
Last Week in AI
A
Arctic Wolf
Latest news
Latest news
Attack and Defense Labs
Attack and Defense Labs
I
Intezer
F
Fortinet All Blogs
罗磊的独立博客
MongoDB | Blog
MongoDB | Blog
Webroot Blog
Webroot Blog
S
Secure Thoughts
Help Net Security
Help Net Security
Apple Machine Learning Research
Apple Machine Learning Research
博客园_首页
V
Visual Studio Blog
P
Proofpoint News Feed
博客园 - 【当耐特】
P
Privacy International News Feed
V
Vulnerabilities – Threatpost
Stack Overflow Blog
Stack Overflow Blog
Know Your Adversary
Know Your Adversary
云风的 BLOG
云风的 BLOG
Hacker News: Ask HN
Hacker News: Ask HN
L
LINUX DO - 最新话题
H
Help Net Security
爱范儿
爱范儿
酷 壳 – CoolShell
酷 壳 – CoolShell
S
SegmentFault 最新的问题
Forbes - Security
Forbes - Security
T
Tailwind CSS Blog
量子位
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
T
Tenable Blog
Cloudbric
Cloudbric
N
News and Events Feed by Topic
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
Hugging Face - Blog
Hugging Face - Blog

博客园 - 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元组及拉链操作 scala的map映射 scala数组 scala方法和涵数的声明以及方法转换成涵数 scala的基础数据类型&if条件表达式&for循环
scala集合三大类(seq序列,set集,map映射)——list序列
cindy_zl · 2019-09-18 · via 博客园 - cindy_zl

scala集合三大类(seq序列,set集,map映射)

seq序列:

scala> val list1 = List(1,2,3)

list1: List[Int] = List(1, 2, 3)

scala> val list2 = 0 :: list1

list2: List[Int] = List(0, 1, 2, 3)

//下面两个方式效果一样, :: and +:  

scala> val list3 = list1.::(0)

list3: List[Int] = List(0, 1, 2, 3)

scala> val list4 = 0 +: list1

list4: List[Int] = List(0, 1, 2, 3)

scala> val list5 = list1.+:(0)

list5: List[Int] = List(0, 1, 2, 3)

scala> val list5 = list1.+:(0)

list5: List[Int] = List(0, 1, 2, 3)

scala> val list6 = list1 :+ 4

list6: List[Int] = List(1, 2, 3, 4)

scala> val list7 = List(5,6,7)

list7: List[Int] = List(5, 6, 7)

scala> val list8 = list1 ++ list7

list8: List[Int] = List(1, 2, 3, 5, 6, 7)

scala> val list8 = list7 ++ list1

list8: List[Int] = List(5, 6, 7, 1, 2, 3)

scala> val list9 = list1 ::: list7

list9: List[Int] = List(1, 2, 3, 5, 6, 7)

scala> val list9 = list7 ::: list1

list9: List[Int] = List(5, 6, 7, 1, 2, 3)

可变长度list

scala> import scala.collection.mutable.ListBuffer

import scala.collection.mutable.ListBuffer

scala> val list1 = ListBuffer(1,2,3)

list1: scala.collection.mutable.ListBuffer[Int] = ListBuffer(1, 2, 3)

scala> list1 += 4                      //list列表追加元素

res54: list1.type = ListBuffer(1, 2, 3, 4)

scala> list1

res55: scala.collection.mutable.ListBuffer[Int] = ListBuffer(1, 2, 3, 4)

scala> list1.append(5)                 //list列表追加元素

res56: list1.type = ListBuffer(1, 2, 3, 4, 5)

scala> list1

res57: scala.collection.mutable.ListBuffer[Int] = ListBuffer(1, 2, 3, 4, 5)

将两个List追加到一个List里面

scala> val list2 = ListBuffer(6,7,8)

list2: scala.collection.mutable.ListBuffer[Int] = ListBuffer(6, 7, 8)

scala> list1 ++= list2                //使用 ++= 操作符可以将后面list2的内容追加到list1中

res58: list1.type = ListBuffer(1, 2, 3, 4, 5, 6, 7, 8)

scala> list1           //list1已经把list2里面的内容追加起来了

res59: scala.collection.mutable.ListBuffer[Int] = ListBuffer(1, 2, 3, 4, 5, 6, 7, 8)

scala> val list4 = ListBuffer(1,2,3)

list4: scala.collection.mutable.ListBuffer[Int] = ListBuffer(1, 2, 3)

scala> val list5 = ListBuffer(4,5,6)

list5: scala.collection.mutable.ListBuffer[Int] = ListBuffer(4, 5, 6)

scala> list4 ++ list5                       //++操作符不可以将list5的内容追加到list4中,只能用 ++= 操作符才可以,如上例,这里是把两个list合并生成一个新的list的操作

res61: scala.collection.mutable.ListBuffer[Int] = ListBuffer(1, 2, 3, 4, 5, 6)

scala> list4

res62: scala.collection.mutable.ListBuffer[Int] = ListBuffer(1, 2, 3)       //list4并未有list5的内容

scala> val list6 = ListBuffer(1,2,3)

list6: scala.collection.mutable.ListBuffer[Int] = ListBuffer(1, 2, 3)

scala> list6 :+ 4           //这里虽然使用了一个不可变list的操作符可以执行成功,但是依然是生成一个新的 list , list6并没有把4添加到列表中,而是生成新的一个列表

res63: scala.collection.mutable.ListBuffer[Int] = ListBuffer(1, 2, 3, 4)

scala> list6

res64: scala.collection.mutable.ListBuffer[Int] = ListBuffer(1, 2, 3)

scala> res63

res65: scala.collection.mutable.ListBuffer[Int] = ListBuffer(1, 2, 3, 4)   //使用不可变列表的操作符 :+ 将列表里面元素与新元素合并且生成一上新的列表