新增新的键值对 和 删除键
增加新的键值对
package main object Test { def main(args: Array[String]): Unit = { val map = Map(1 -> "one", 2 -> "two", 3 -> "three", 4 -> "four", 5 -> "five"); println(map.getClass.getName); //scala.collection.immutable.HashMap$HashTrieMap println(map); //Map(5 -> five, 1 -> one, 2 -> two, 3 -> three, 4 -> four) /** * + 操作符可以增加一个或多个键值对,返回新的 Map对象。 **/ println( map + (6 -> "S6") ); //Map(5 -> five, 1 -> one, 6 -> S6, 2 -> two, 3 -> three, 4 -> four) println( map + (7 -> "SS7", 8 -> "SS8", 9 -> "SS9") ); //Map(5 -> five, 1 -> one, 9 -> SS9, 2 -> two, 7 -> SS7, 3 -> three, 8 -> SS8, 4 -> four) /** * ++ 操作符可以增加一个Map键值对的集合,实现批量增加。 * 如果键已经存在于Map对象中,则增加这个键值对相当于更新操作。 **/ println( map ++ Seq(5 -> "AK5", 10 -> "AK10", 20 -> "AK20", 30 -> "AK30") ); //Map(5 -> AK5, 10 -> AK10, 20 -> AK20, 1 -> one, 2 -> two, 3 -> three, 30 -> AK30, 4 -> four) } }
不可变集合的Map 对应 可变集合的Map的操作符:+ 对应 +=、++ 对应 ++=
删除键
package main object Test { def main(args: Array[String]): Unit = { val map = Map(1 -> "one", 2 -> "two", 3 -> "three", 4 -> "four", 5 -> "five"); println(map.getClass.getName); //scala.collection.immutable.HashMap$HashTrieMap println(map); //Map(5 -> five, 1 -> one, 2 -> two, 3 -> three, 4 -> four) /** * - 操作符可以删除一个或多个键值对,返回新的 Map对象。 **/ println( map - (5) ); //Map(1 -> one, 2 -> two, 3 -> three, 4 -> four) println( map - (6) ); //Map(5 -> five, 1 -> one, 2 -> two, 3 -> three, 4 -> four) println( map - (5, 1) ); //Map(2 -> two, 3 -> three, 4 -> four) println( map - (5, 10) ); //Map(1 -> one, 2 -> two, 3 -> three, 4 -> four) println( map - (10, 20) ); //Map(5 -> five, 1 -> one, 2 -> two, 3 -> three, 4 -> four) /** * -- 删除一个Map键值对的集合,实现批量删除。 **/ println( map -- Seq(5, 1) ); //Map(2 -> two, 3 -> three, 4 -> four) println( map -- Seq(5, 10) ); //Map(1 -> one, 2 -> two, 3 -> three, 4 -> four) println( map -- Seq(10, 20) ); //Map(5 -> five, 1 -> one, 2 -> two, 3 -> three, 4 -> four) } }

浙公网安备 33010602011771号