一般方法

//map must be a bijection in order for this to work properly
public static <K,V> HashMap<V,K> reverse(Map<K,V> map) {HashMap<V,K> rev = new HashMap<V, K>();for(Map.Entry<K,V> entry : map.entrySet())rev.put(entry.getValue(), entry.getKey());return rev;
}

优雅方法

public static <K,V> HashMap<V,K> reverse(Map<K,V> map) {return map.entrySet().stream().collect(Collectors.toMap(Map.Entry::getValue, Map.Entry::getKey));;
}

参考资料

How to swap keys and values in a Map elegantly

如何优雅互换Map键与值相关推荐

  1. java map 更新_更新Map键的值java

    好的,我有这个代码: TreeMap tree2 = getDatesTreeMap(); DateTime startx = new DateTime(startDate.getTime()); D ...

  2. java map 值排序_使用Java8 Stream API对Map类型按照键或值进行排序

    在这篇文章中,您将学习如何使用Java对Map按照键或值进行排序.前几日有位朋友面试遇到了这个问题,看似很简单的问题,但是如果不仔细研究一下也是很容易让人懵圈的面试题.所以我决定写这样一篇文章.在Ja ...

  3. java中map可以为空吗_Java: Map里面的键和值可以为空吗?

    在Java中,Map里面的键和值可以为空吗?我们先来看一个例子: private static void TestHashMap() { // TODO Auto-generated method s ...

  4. java map null吗_Java: Map里面的键和值可以为空吗?

    在Java中,Map里面的键和值可以为空吗?我们先来看一个例子: private static void TestHashMap() { // TODO Auto-generated method s ...

  5. scala中map添加值_如何在Scala Map中反转键和值

    scala中map添加值 A Map is a data structure that stores data as key: value pair. 映射是一种将数据存储为键:值对的数据结构. Sy ...

  6. java 怎么获取键的值_在 Java 中如何获取 Map 的所有键和值

    在 Java 中可以通过 map.entrySet() 方法获取 Map 的所有键和值. Map map = new HashMap<>(); // Get keys and values ...

  7. java调用json转map_Java 把json对象转成map键值对的方法

    Java 把json对象转成map键值对的方法 发布于 2020-8-18| 复制链接 摘记: 工具方法: 本文的目的是把json串转成map键值对存储,而且只存储叶节点的数据maven 引用jar包 ...

  8. java——集合——Map集合——Map集合遍历键找值方式

    Map集合遍历键找值方式 Map集合的第一种遍历方式:通过键找值的方式 Map集合中的方法: SetkeySet() 返回此映射中包含的键的 Set 视图. 实现步骤: 1.使用Map集合中的方法ke ...

  9. Map集合遍历键找值方式

    Map集合的第一种遍历方式:通过键找值的方式 Map集合中的方法: Set<K> keySet() 返回此映射包含的键的Set视图. 实现步骤: 1.使用Map集合中的方法keySet() ...

最新文章

  1. 卷积学习与图像识别的技术发展
  2. tensorflow的tf.reduce_mean函数
  3. centos 5.5 mysql 5.5.39_CentOS 5.5 下安装 Mysql 5.5
  4. 在 iOS 应用中直接跳转到 AppStore 的方法
  5. centos 对已有卷扩容_centos7下对原有磁盘分区进行在线扩容
  6. maven插件编写_编写Maven插件的提示
  7. Windows系统的MySQL目录结构
  8. ExtJs六(ExtJs Mvc首页展示)
  9. Postman最被低估的功能,自动化接口测试效率简直无敌!
  10. 设计模式之单例模式8种实现方式,其二:饿汉式-静态代码块饿汉式
  11. 程序员过关斩将——搞定秒杀,只需要这几步!!
  12. Linux vgchange 命令
  13. 卷积与反卷积、步长(stride)与重叠(overlap)及 output 的大小
  14. [case31]dubbo-spring-boot-starter小试牛刀
  15. 获取网页中的验证码图片
  16. Coursera 斯坦福大学科学论文写作课程笔记(一)
  17. [Android/Icon] 分享一个图标/Icon制作网站
  18. 1688item_search新品数据获取API接口调用示例
  19. 电脑安装双系统教程,电脑安装两个系统
  20. pmf源解析_科研进展 | 不同燃烧排放的一次有机物源谱特征及其在源解析中的应用...

热门文章

  1. 丰田pcs可以关闭吗_丰田新款卡罗拉变化这么大 让老车主陷入沉思
  2. MySQL——基本配置
  3. 西门子主程序调用子程序_S7200Smart 子程序局部变量使用教程
  4. php如何操作mysql数据库代码_php如何操作mysql数据库的类(附代码)
  5. 【转】TFS测试管理
  6. linux ( )含义,Linux的shell中$()、$[] 、${}分别是什么意思?
  7. stm32烧录软件_stm32怎么烧录程序
  8. win10切换输入法快捷键_输入法失灵怎么办?该怎么恢复?
  9. 【Python CheckiO 题解】Correct Sentence
  10. PWN-PRACTICE-CTFSHOW-6