文章目录

  • 一、map 集合 " - " 操作符重载
  • 二、完整代码示例

一、map 集合 " - " 操作符重载


对 map 集合 使用 " - " 操作符 , 相当于调用了 map 集合的 minus 方法 , 该方法传入 222 个参数 :

  • Map<K,V> self 参数 : 相当于 " - " 操作符左侧的值 ;
  • Map removeMe 参数 : 相当于 " - " 操作符右侧的值 ;

该方法的作用是 , 创建一个新的 map 集合 , 该集合中 存放 Map<K,V> self 集合 中删除了 Map removeMe 集合 条目之后的 键值对 条目 ;

map 集合 minus 函数原型 :

/*** 创建一个由第一个 map集合 的条目减去给定 map集合 的条目组成的新的 map 集合。** @param self     map 集合* @param removeMe 要从 map 集合中删除的键值对* @return the resulting map* @since 1.7.4*/public static <K,V> Map<K,V> minus(Map<K,V> self, Map removeMe) {final Map<K,V> ansMap = createSimilarMap(self);ansMap.putAll(self);if (removeMe != null && removeMe.size() > 0) {for (Map.Entry<K, V> e1 : self.entrySet()) {for (Object e2 : removeMe.entrySet()) {if (DefaultTypeTransformation.compareEqual(e1, e2)) {ansMap.remove(e1.getKey());}}}}return ansMap;}

二、完整代码示例


代码示例 :

class Test {static void main(args) {// 创建键值对// 键 Key 可以不使用引号 , 可以使用单引号 '' , 也可以使用双引号 ""def map = [J:"Java", "K":"Kotlin", 'G':"Groovy"]// " + " 操作符重载def map2 = map + [S:"String"]// 打印结果 [J:Java, K:Kotlin, G:Groovy]println map// 打印结果 [J:Java, K:Kotlin, G:Groovy, S:String]println map2// " - " 操作符重载map2 = map - [J:"Java"]// 打印结果 [J:Java, K:Kotlin, G:Groovy]println map// 打印结果 [K:Kotlin, G:Groovy]println map2}
}

执行结果 :

[J:Java, K:Kotlin, G:Groovy]
[J:Java, K:Kotlin, G:Groovy, S:String]
[J:Java, K:Kotlin, G:Groovy]
[K:Kotlin, G:Groovy]

【Groovy】map 集合 ( map 集合操作符重载 | - 操作符重载 | 代码示例 )相关推荐

  1. java集合框架的结构_集合框架(Collections Framework)详解及代码示例

    简介 集合和数组的区别: 数组存储基础数据类型,且每一个数组都只能存储一种数据类型的数据,空间不可变. 集合存储对象,一个集合中可以存储多种类型的对象.空间可变. 严格地说,集合是存储对象的引用,每个 ...

  2. 【Groovy】map 集合 ( map 集合操作符重载 | 使用 << 操作符添加一个元素 | 代码示例 )

    文章目录 一.使用 " << " 操作符添加一个元素 二.代码示例 一.使用 " << " 操作符添加一个元素 对 map 集合 使用 ...

  3. Spark创建RDD的四种方式(一):从集合(内存)中创建 RDD代码示例

    从底层代码实现来讲,makeRDD 方法其实就是 parallelize 方法: def makeRDD[T: ClassTag](seq: Seq[T],numSlices: Int = defau ...

  4. 【Groovy】编译时元编程 ( ASTTransformation#visit 方法中访问 Groovy 类、方法、字段、属性 | 完整代码示例及进行编译时处理的编译过程 )

    文章目录 一.ASTTransformation#visit 方法中访问 Groovy 类.方法.字段.属性 二.完整代码示例及进行编译时处理的编译过程 1.Groovy 脚本 Groovy.groo ...

  5. 【Groovy】map 集合 ( map 集合操作符重载 | + 操作符重载 | 代码示例 )

    文章目录 一.map 集合 " + " 操作符重载 二.代码示例 一.map 集合 " + " 操作符重载 对 map 集合使用 " + " ...

  6. 【Groovy】集合遍历 ( 使用集合的 reverseEach 方法进行遍历 | 倒序集合迭代器 ReverseListIterator 类简介 | 代码示例 )

    文章目录 一.使用集合的 reverseEach 方法进行倒序遍历 二.倒序集合迭代器 ReverseListIterator 类简介 三.代码示例 一.使用集合的 reverseEach 方法进行倒 ...

  7. Java集合的接口和类层次结构图以及代码示例

    1. Collection vs Collections 首先,"Collection"和"Collections"是两个不同的概念.正如你从下面结构图看到的, ...

  8. 【Groovy】Groovy 脚本调用 ( Groovy 配置文件格式 | Groovy 配置文件读取 | 完整配置文件及解析代码示例 )

    文章目录 前言 一.Groovy 配置文件格式 二.Groovy 配置文件读取 二.完整配置文件及解析代码示例 前言 在 Groovy 脚本 , Groovy 类 , Java 类中 , 可以调用 G ...

  9. 【Groovy】map 集合 ( map 集合操作符重载 | *. 展开操作符 | 代码示例 )

    文章目录 一.map 集合 " *. " 展开操作符 二.代码示例 一.map 集合 " *. " 展开操作符 对 map 集合使用 " *. &qu ...

最新文章

  1. c语言中 char怎样用,C语言中char*和char[]用法区别分析
  2. WinCE设置DataGrid行高
  3. 园龄一年了,可还未动笔.
  4. 诺基亚贝尔回应“落选运营商5G采购”:尊重运营商决定
  5. .xsession-errors:openConnection: connect: No such file or directory cannot connect to brltty at :0
  6. 腾讯校园招聘笔试 2019-8-17 第四题 另一种解法
  7. python 包的使用 (三)——turtle:使用海龟图形(turtle graphics)绘制图像
  8. SpringBoot学习---thymeleaf模板引擎
  9. ELK 收集 Tomcat 日志
  10. 一些常用的Maven命令的作用
  11. 修改linux服务器密码
  12. 编程语言的分类与关系
  13. 10. Zigbee应用程序框架开发指南 - 命令处理和生成
  14. 模电学习笔记--二极管
  15. cisco交换机配置记录(一)
  16. 海底捞月战法实战讲解
  17. 癸卯年新春贺文 --孤羽江绎
  18. php 调取百度天气api
  19. atom 插件下载错误:【Fetching featured packages failed.self signed certificate in certificate chain】
  20. 燃情7月,ACMUG厦门、上海双城技术沙龙及MySQL/MariaDB创始人Monty中国行活动

热门文章

  1. 精益与敏捷开发(随笔)
  2. maven nexus memory optimization
  3. Python做web开发,推荐几个能立马上手的小项目
  4. mysql 运行 sql 脚本
  5. UIPageControl
  6. escape与encodeURI、encodeURIComponent的区别
  7. UVa 537 - Artificial Intelligence?
  8. C++实现平衡二叉树
  9. Node版本管理nvm, npm
  10. MySQl的库操作、表操作和数据操作