스칼라 매핑 (지도)

개념

지도는지도 호출 할 수 있습니다. 그것은 키의 모음으로 구성되어 있습니다. 스칼라에서,지도는 변수와 불변의지도지도로 나누어진다.

불변의지도

정의

문법
val/var map = Map(->,->,->...)	// 推荐,可读性更好
val/var map = Map((,), (,), (,), (,)...)
샘플 코드
//定义一个映射,包含学生姓名和年龄数据 zhangsan 18   lisi 20
//方式一
val map = Map("zhangsan"->18, "lisi"->20)
//方式二
val map = Map(("zhangsan", 18), ("lisi", 20))
//获取zhangsan的年龄 根据key获取value
map("zhangsan")

그림 삽입 설명 여기

변수지도

구문과 같은 불변의 맵을 정의합니다. 그러나 수동으로 가져 오기 변수 맵에 정의 필요import scala.collection.mutable.Map

샘플 코드
//定义一个映射,包含学生姓名和年龄数据  zhangsan 18 lisi 20
//完整写法
val map: mutable.Map[String, Int] = mutable.Map("zhangsan"->18, "lisi"->20)
//省略写法  mutable 不建议省略 这样能更好区分
val map = mutable.Map("zhangsan"->18, "lisi"->20)
//修改 zhangsan 的年龄为 15
 map("zhangsan") = 15
 //输出修改后的值
 println(map)

그림 삽입 설명 여기

기본 매핑 작업

기본 조작

  • (값을 가져옵니다 map(key))
  • 모든 키를 가져옵니다 map.keys()
  • 모든 값을 취득합니다 map.values()
  • 순회지도 모음
  • Getorelse
  • 에 대한 키 값을 증가
  • Delete 키

샘플 코드

//定义一个映射,包含学生姓名和年龄数据  zhangsan 18 lisi 20
 val map = Map("zhangsan"->18, "lisi"->20)
//获取zhangsan的年龄
map("zhangsan")
//获取所有的学生姓名
map.keys
//获取所有的学生年龄
map.values
//打印所有的学生姓名和年龄
for((x,y) <- map) println(s"$x $y")
//获取wangwu的年龄,如果wangwu不存在,则返回-1
map.getOrElse("wangwu", -1)
//新增一个学生:wangwu, 35
 map + "wangwu"->35
//将lisi从可变映射中移除
map - "lisi"
//打印map
println(map)

그림 삽입 설명 여기

게시 88 개 원래 기사 · 원의 찬양 (114) · 조회수 2996

추천

출처blog.csdn.net/hongchenshijie/article/details/104021830