Scala中的集合
来源:互联网 发布:推荐个苹果下载软件 编辑:程序博客网 时间:2024/05/17 22:14
Scala的集合有三大类:序列Seq、集Set、映射Map,所有的集合都扩展自Iterable特质,在Scala中集合有可变(mutable)和不可变(immutable)两种类型,immutable类型的集合初始化后就不能改变了(注意与val修饰的变量进行区别)
1. 序列
不可变的序列import scala.collection.immutable._
在Scala中列表要么为空(Nil表示空列表)要么是一个head元素加上一个tail列表。
9 :: List(5, 2) :: 操作符是将给定的头和尾创建一个新的列表
注意::: 操作符是右结合的,如9 :: 5 :: 2 :: Nil相当于9 :: (5 :: (2 :: Nil))
object ImmutListTest { def main(args: Array[String]) { //创建一个不可变的集合 val lst1 = List(1,2,3) //将0插入到lst1的前面生成一个新的List val lst2 = 0 :: lst1 val lst3 = lst1.::(0) val lst4 = 0 +: lst1 val lst5 = lst1.+:(0) //将一个元素添加到lst1的后面产生一个新的集合 val lst6 = lst1 :+ 3 val lst0 = List(4,5,6) //将2个list合并成一个新的List val lst7 = lst1 ++ lst0 //将lst0插入到lst1前面生成一个新的集合 val lst8 = lst1 ++: lst0 //将lst0插入到lst1前面生成一个新的集合 val lst9 = lst1.:::(lst0) println(lst9) }}
可变的序列 import scala.collection.mutable._
import scala.collection.mutable.ListBufferobject MutListTest extends App{ //构建一个可变列表,初始有3个元素1,2,3 val lst0 = ListBuffer[Int](1,2,3) //创建一个空的可变列表 val lst1 = new ListBuffer[Int] //向lst1中追加元素,注意:没有生成新的集合 lst1 += 4 lst1.append(5) //将lst1中的元素最近到lst0中, 注意:没有生成新的集合 lst0 ++= lst1 //将lst0和lst1合并成一个新的ListBuffer 注意:生成了一个集合 val lst2= lst0 ++ lst1 //将元素追加到lst0的后面生成一个新的集合 val lst3 = lst0 :+ 5}
2. Set
不可变的Set
import scala.collection.immutable.HashSetobject ImmutSetTest extends App{ val set1 = new HashSet[Int]() //将元素和set1合并生成一个新的set,原有set不变 val set2 = set1 + 4 //set中元素不能重复 val set3 = set1 ++ Set(5, 6, 7) val set0 = Set(1,3,4) ++ set1 println(set0.getClass)}
可变的Set
import scala.collection.mutableobject MutSetTest extends App{ //创建一个可变的HashSet val set1 = new mutable.HashSet[Int]() //向HashSet中添加元素 set1 += 2 //add等价于+= set1.add(4) set1 ++= Set(1,3,5) println(set1) //删除一个元素 set1 -= 5 set1.remove(2) println(set1)}
3. Map
import scala.collection.mutableobject MutMapTest extends App{ val map1 = new mutable.HashMap[String, Int]() //向map中添加数据 map1("spark") = 1 map1 += (("hadoop", 2)) map1.put("storm", 3) println(map1) //从map中移除元素 map1 -= "spark" map1.remove("hadoop") println(map1)}
阅读全文
0 0
- scala中的常用集合
- scala中的集合操作
- Scala中的集合
- 深入理解Scala中的集合
- scala集合中的操作详解
- Programming In Scala笔记-第十七章、Scala中的集合类型
- scala中的函数、变量、集合、对象---scala学习笔记(1)
- scala 并行集合在spark中的应用
- Scala中的数组、映射、元组、集合
- scala中的数组和集合操作
- Scala集合
- Scala集合
- Scala 集合
- Scala集合
- scala集合
- Scala集合
- scala 集合
- scala------集合
- C语言经典笔试题04-字符数组移位
- hdu1233还是畅通工程
- 每日一练-20171109
- java三大神器之拦截器
- 如何搭建OwnCloud
- Scala中的集合
- imwrite函数保存二值图的问题解决
- 中序二叉树、队列实现层次遍历、中序线索二叉树的创建与遍历
- python读取txt各个数字
- 模板 2017-11-09 矩阵 单位化矩阵 矩阵的相乘和快速幂
- 单链表+学生信息管理系统
- 输出乘法口诀表
- 【组合+错排】BZOJ4517(Sdoi2016)[排列计数]题解
- 030day(通过例题了解程序时间复杂度)