博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
scala集合三大类(seq序列,set集,map映射)——list序列
阅读量:4983 次
发布时间:2019-06-12

本文共 2824 字,大约阅读时间需要 9 分钟。

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)   //使用不可变列表的操作符 :+ 将列表里面元素与新元素合并且生成一上新的列表

 

转载于:https://www.cnblogs.com/cindy-zl24/p/11540545.html

你可能感兴趣的文章
图像的基本运算——scale, rotation, translation
查看>>
OpenCV——PS滤镜, 碎片特效
查看>>
python-字典相关函数认识
查看>>
Java之IO流
查看>>
Lua学习笔记-C API
查看>>
浅析:Android 嵌套滑动机制(NestedScrolling)
查看>>
Python+Selenium练习篇之18-获取元素上面的文字
查看>>
php状态模式
查看>>
Asp.net C# 图像处理
查看>>
知识签名(signature of knowledge)
查看>>
Gedit 解决中文显示乱码问题
查看>>
reset 单个文件 回退
查看>>
数据库系统
查看>>
ASP.NET Core 基础知识(九)Configuration
查看>>
pickle使用
查看>>
将多个网页制作成一个CHM文件
查看>>
txt 文件改名为fasta,并编辑规格格式
查看>>
闭包 装饰器 - 总结
查看>>
中间件
查看>>
jQuery初识之选择器、样式操作和筛选器(模态框和菜单示例)
查看>>