博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
scala中的可变数据结构和不可变数据结构
阅读量:6077 次
发布时间:2019-06-20

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

hot3.png

不可变

api不太丰富

如果是var修饰,引用可变,支持读写

如果是val修饰,引用不可变,只能写入一次值,其后只读

可变

api丰富与Java中Map基本类似

如果是var修饰,引用可变,支持读写

如果是val修饰,引用不可变,支持读写

例子:

var b:Map[String,Int]=Map("k1"->1,"k2"->2)b-=("k1")b+=("k3"->3,"k4"->4)println(b)//val c:Map[String,Int]=Map("k1"->1,"k2"->2)//c-=("k1")//c+=("k3"->3,"k4"->4)//println(c)   报错import scala.collection.mutable.Mapval a:Map[String,Int]=Map("k1"->2,"k2"->1)a-=("k1")a+=("k3"->3,"k4"->4)println(a)var c:List[Int]=List(1,2)c-=(1)c:+=(3)c++=List(4,5)println(c)import scala.collection.mutable.ListBufferval d:ListBuffer[Int]=ListBuffer(1,2)d-=(1)d+=(5)d++=ListBuffer(3,4)println(d)

结果:

Map(k2 -> 2, k3 -> 3, k4 -> 4)Map(k3 -> 3, k4 -> 4, k2 -> 1)List(2, 3, 4, 5)ListBuffer(2, 5, 3, 4)

 

转载于:https://my.oschina.net/u/2000675/blog/1861660

你可能感兴趣的文章
基于Spring Boot实现图片上传/加水印一把梭操作
查看>>
关于js、jq零碎知识点
查看>>
有赞跨平台长连接组件设计及可插拔改造
查看>>
高德,腾讯地图 --> 逆地址解析(坐标位置描述)
查看>>
nodejs流之行读取器例子
查看>>
源码|HDFS之NameNode:启动过程
查看>>
[译] 什么是Javascript中的提升
查看>>
阿里巴巴、百度、腾讯都在用的Java架构师知识体系
查看>>
Python 异步网络爬虫 I
查看>>
像 QQ 一样处理滑动冲突
查看>>
01、Handler的那些事
查看>>
Mac OS X x64 环境下覆盖objective-c类结构并通过objc_msgSend获得RIP执行shellcode
查看>>
[译] 如何写出更好的 React 代码?
查看>>
Android动画:这里有一份很详细的 属性动画 使用攻略
查看>>
RxJava2 实战知识梳理(5) 简单及进阶的轮询操作
查看>>
js call,apply,bind总结
查看>>
Spring Boot 中使用 Java API 调用 lucene
查看>>
从 Java 层看 React-Native 通信机制
查看>>
来来来!关于iOS基础总结咱俩好好唠唠
查看>>
兑吧:从自建HBase迁移到阿里云HBase实战经验
查看>>