Scala编程入门---Map与Tuple

本文详细介绍了Scala中Map的基本操作,包括创建、访问、修改、遍历及排序等,并展示了如何使用Tuple进行数据处理。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

创建Map

//创建一个不可变的Map
val ages = Map("Leo" -> 30,"Jen" ->25,"Jack" ->23)
ages("Leo") =31
//创建一个可变的Map
val ages =scala.collection.mutable.Map("Leo" ->30,"Jen" ->25,"Jack" ->23)
ages("Leo") = 31
//使用另外一种方式定义Map元素
val ages = Map(("Leo",30),("Jen",25),("Jack",23))
//创建一个工的HashMap
val ages = new scala.collection.mutable.HashMap[String,int]

 

访问Map元素

//获取指定Key对应的value,如果key不存在,会报错
val leoAge = ages("Leo")
val leoAge = ages("leo")

//使用contains函数检查key是否存在
val leoAge = if(ages.contains("leo")) ages("leo") else 0

//getOrElse函数
val leoAge = ages.getOrElse("leo",0)

 

修改Map的元素

//更新Map的元素

ages("leo") =31

//增加多个元素

ages +=("Mike" -> 35,"Tom" 0> 40)

//移除元素

ages -="Mike"

//更新不可变的map

val ages2 = ages +("Mike" -> 36,"Tom" ->40)

//移除不可变的元素

val ages3 = ages-"Tom"

遍历Map

//遍历map的entrySet
for ((key,value) <- ages) printlin(key+"" +value)
//遍历Map的Key
for(key <-ages.keySet) println(key)
//遍历Map的value
for(value <- ages.value ) println(value)
//生成新map,反转Key和value
for((key,value) <- ages) yield (value,key)

Map的排序

//sortedMap可以自动对Map的可以排序
val ages = scala.collection.immutable.SortedMap("leo" ->30,"alice" ->15,"jen" ->25)
//LinkedHashMap可以记住插入entry的顺序
val ages =new scala.collection.mutable.LinkedHashMap[String,int]
ages("leo")= 30
ages("alice")=15
ages("jen")=25

 

Tuple

//简单Tuple
val t =("leo",30)
//访问Tuple
t._1
    
//zip操作
val names =Array("leo","jack"," mike")
val ages = Array(30,23,26)
val nameAges = names.zip(ages)
for((name,age) <- nameAges) println(name +":"+age)

 

转载于:https://www.cnblogs.com/yeszero/p/6950664.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值