大数据全系列 教程
1869个小节阅读:467.8k
目录
408考研
JAVA全系列 教程
面向对象的程序设计语言
Python全系列 教程
Python3.x版本,未来主流的版本
人工智能 教程
顺势而为,AI创新未来
大厂算法 教程
算法,程序员自我提升必经之路
C++ 教程
一门通用计算机编程语言
微服务 教程
目前业界流行的框架组合
web前端全系列 教程
通向WEB技术世界的钥匙
大数据全系列 教程
站在云端操控万千数据
AIGC全能工具班
A A
White Night
xxxxxxxxxx
package com.itbaizhan.chapter07
//TODO 2.使用 mutable.Map前导入如下包
import scala.collection.mutable
//可变Map集合
object MapMutable extends App {
//TODO 1. mutable.Map表示可变的Map集合
val map1 = mutable.Map(1 -> "刘备", 2 -> "关羽", 3 -> "张飞")
val map2 = mutable.Map(6 -> "曹操", 7 -> "许褚", 8 -> "夏侯渊")
//TODO 3.添加键值对元素,原Map集合对象改变
map1.put(4,"赵云")
println("put后map1:"+map1.mkString(","))
//TODO 4. + 添加键值对不改变原集合
val map3: mutable.Map[Int, String] = map1 + (5 -> "凤雏")
println("+后map1:"+map1.mkString(","))
println("+后map3:"+map3.mkString(","))
println(map1 eq map3)//false
//TODO 5. += 添加键值对改变原集合,并返回修改后Map对象的地址
val map4: mutable.Map[Int, String] = map1 += (5 -> "凤雏")
println("+=后map1:"+map1.mkString(","))
println("+=后map4:"+map4.mkString(","))
println(map1 eq map4)//true
//TODO 6.修改key对应的value
map1.update(1,"刘玄德")
println("update后map1:"+map1.mkString(","))
map1(1)= "刘备"
println("update后map1:"+map1.mkString(","))
//TODO 7.删除数据
map1.remove(1)
println("remove后map1:"+map1.mkString(","))
// - 不改变原Map集合
val map5: mutable.Map[Int, String] = map1 - 2
println("map1 - 2后map1:"+map1.mkString(","))
println("map5:"+map5.mkString(","))
// -= 不改变原Map集合
val map6: mutable.Map[Int, String] = map1 -= 3
println("map1 -= 3后map1:"+map1.mkString(","))
println("map6:"+map6.mkString(","))
println(map1 eq map6)//true
//TODO 8. Map集合转换为其它类型的集合
val set: Set[(Int, String)] = map1.toSet
println("set:"+set)
println("set String:"+set.mkString(","))
val list: List[(Int, String)] = map1.toList
println("list:"+list)
println("list String:"+list.mkString(","))
val seq: Seq[(Int, String)] = map1.toSeq
println("seq:"+seq)
val array: Array[(Int, String)] = map1.toArray
println("array:"+array)
println("array String:"+array.mkString(","))
//TODO 9.其它常用方法
//get和getOrElse方法的用途同不可变Map一样
println(map1.get(2))
println(map1.getOrElse(1,"default"))
//keys获取所有的key: Iterable[T]
val keys: Iterable[Int] = map1.keys
//keySet获取所有的key: collection.Set[T]
val keySet: collection.Set[Int] = map1.keySet
//keysIterator获取所有的key:: Iterator[T]
val keysIterator: Iterator[Int] = map1.keysIterator
//values获取所有的value: Iterable[T]
val values: Iterable[String] = map1.values
//valuesIterator获取所有的value: Iterator[T]
val valuesIterator: Iterator[String] = map1.valuesIterator
//清空Map集合
println("map2 clear前:"+map2.mkString(","))
map2.clear()
println("map2 clear后:"+map2.mkString(","))
//put 如果key不存在,则执行添加
map2.put(1,"aa")
println("map2 put:"+map2.mkString(","))
}
实时效果反馈
1. 关于可变Map相关代码的描述,错误的是:
A 使用可变Map集合,通常在Map前使用mutable.
,并提前导入scala.collection.mutable
。
B mkString("分隔符")
将Map集合中的键值对转换为字符串,键值对之间使用指定的符号分割元素,key和value之间使用->。
C update(1,"刘玄德")
如果key 1存在则修改,不存在则添加。
D Map集合不可以转换为其它类型的集合。
答案:
1=>D Map集合转换为其它类型的集合