Scala集合Map
发布时间:2020-12-16 18:43:16 所属栏目:安全 来源:网络整理
导读:在scala中Map分为可变长(mutable)和不可变长(immutable) /* * * 不可变长map 长度一旦初始化,就不能在进行更改 */ // 通过箭头的方式创建map val map = Map( " name " - " leo " , " age " - 16 , " sex " - " 男 " ) // 通过对偶元组的方式创建map val
在scala中Map分为可变长(mutable)和不可变长(immutable) /** * 不可变长map 长度一旦初始化,就不能在进行更改 */
// 通过箭头的方式创建map
val map = Map("name" -> "leo","age" -> 16,"sex" -> "男") // 通过对偶元组的方式创建map
val map1 = Map(("name","jack"),("age",16),("sex","女")) // 通过两者混搭创建map
val map3 = Map("name" -> "tuoni",("name","hengr")) // ++ 操作合并两个map 原map不变
val newmap = map ++ map1 println(map + "," + map1 + "," + map3 + "," + newmap)
/** * 不可变长Map映射,长度,值一旦初始化后不能再次被改变 */ val map4 = mutable.Map("a" -> "A") map4.put("b","B") map4 += ("c" -> "C","d" -> "D") map4 ++= mutable.Map("hah" -> "HAH",("a","b")) // 移除Map映射,mutable 包下
println(map4) map4 -= ("b","B") map4 --= Set("a","b") map4.remove("c") println(map4) // Map(b -> B,hah -> HAH,d -> D,a -> b,c -> C) // Map(hah -> HAH,d -> D)
/** * map映射常用操作方法 */
// contains 方法判断一个key 是否存在,存在返回true,否则返回false
val map = mutable.Map("b" -> "B","hah" -> "HAH","d" -> "D","a" -> "b","c" -> "C") println(map.contains("b")) //获取key对应的值,注意如果通过 Map(“key”)获取对应的值应该进行key是否存在判断
if (map.contains("e")) { println(map("e")) } // 映射的get 方法也是用来获取key 对应的值,但是这个方法返回的是一个option对象,这个option // 对象有两个子类,如果有key 则返回Some(some对象中封装了key对应的值,可以通过some的get // 方法获取该值)对象。 // 没有key则返回None对象
val value: Option[String] = map.get("a") //isEmpty方法可以用来判断是Some对象还是None
if (!value.isEmpty) { println(value) } else { println(value) } // 如果key 存在则返回对应的值,如果key不存在则返回给定的值
val v1 = map.getOrElse("f","EEE") println(v1)
/** * LinkedHashMap 插入有序,会按照我们的插入顺序排序,因为底层是链表结构 */ val map5 = mutable.LinkedHashMap[String,String]() map5 += ("d" -> "D") map5 += (("a","A")) map5("c") = "C" map5("b") = "B" println(map5) /** * SortedMap 可以自动对Map的key进行排序 */ val map6 = mutable.SortedMap[String,String]() map6("c") = "C" map6("b") = "B" map6("a") = "A" println(map6)
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |