【Java用法】BidiMap详细用法

你的名字 2022-09-08 14:48 320阅读 0赞

本文目录

一、简单介绍

二、详细介绍

2.1 接口声明 (Interface Declaration)

2.2 方法 (Methods)

2.3 方法继承 (Methods Inherited)

2.4 BidiMap接口示例


乍一看,BidiMap很懞,但是只要知道 Bidi 是什么意思,那么这个 BidiMap 其实还是很好理解的。

一、简单介绍

所谓BidiMap,直译就是双向Map,可以通过key找到value, 也可以通过value找到key,这在我们日常的代码-名称匹配的时候很方便。

因为我们除了需要通过代码找到名称之外,往往也需要处理用户输入的名称,然后获取其键(代码)。

非常重要的一点是:BidiMap 当中不光Key不能重复,Value也不能重复。

以下用是测试代码:

  1. public class BidiMapTest {
  2. public static void main(String[] args) {
  3. System.out.println(StringUtils.center(" demoBidiMap ", 40, "="));
  4. BidiMap<String, Object> bidiMap = new DualHashBidiMap<>();
  5. bidiMap.put("BJ", "beijing");
  6. bidiMap.put("SH", "shanghai");
  7. bidiMap.put("TJ", "tianjin");
  8. bidiMap.put("CQ", "chongqing");
  9. Object value = bidiMap.get("BJ");
  10. String key = bidiMap.getKey("shanghai");
  11. System.out.println("根据Key(BJ)得到Value值:" + value);
  12. System.out.println("根据Value(shanghai)得到Key:" + key);
  13. System.out.println(StringUtils.repeat("=", 40));
  14. // 下面放入一个重复的Key(BJ)和一个重复的Value(tianjin)
  15. bidiMap.put("BJ", "北京");
  16. bidiMap.put("天津", "tianjin");
  17. // {SH=shanghai, 天津=tianjin, BJ=北京, CQ=chongqing}
  18. System.out.println(bidiMap);
  19. System.out.println(StringUtils.repeat("=", 40));
  20. }
  21. }

以上代码的输出结果是

============= demoBidiMap ==============
根据Key得到value:beijing

根据value得到Key:SH

{SH=shanghai, 天津=tianjin, BJ=北京, CQ=chongqing}

从以上结果中,我们可以看到,可以通过key找到value, 也可以通过value找到key。

而且,我们也往 BidiMap 中放入了一个重复的 Key(BJ),同时也放入了一个重的 Value(tianjin),但是在输出结果中,重复的 Key 会把值覆盖掉,重复的 Value 则会把 Key 覆盖掉。

二、详细介绍

2.1 接口声明 (Interface Declaration)

watermark_type_ZHJvaWRzYW5zZmFsbGJhY2s_shadow_50_text_Q1NETiBATm84Z-aUu-WfjueLrg_size_20_color_FFFFFF_t_70_g_se_x_16

2.2 方法 (Methods)




























Sr.No. 方法和描述
1

K getKey(Object value)

获取当前映射到指定值的键。大白话,就是 根据值获取键。

2

BidiMap <V,K> inverseBidiMap()

获取此映射的视图,其中键和值相反。大白话,就是 键和值颠倒一下。

3

V put(K key, V value)

将键值对放入Map中,替换之前的任何一对。大白话,就是 新增键值对,如果有重复的键或者值,则会把之前的覆盖掉。

4

K removeValue(Object value)

删除当前映射到指定值的键值对(可选操作)。大白话,就是 删除键值对。

5

Set <V> values()

返回此映射中包含的值的Set视图。大白话,就是 获取值的列表。

2.3 方法继承 (Methods Inherited)

此接口从以下接口继承方法 –

  • org.apache.commons.collections4.Get
  • org.apache.commons.collections4.IterableGet
  • org.apache.commons.collections4.Put
  • java.util.Map

2.4 BidiMap接口示例

请看标题一里的示例内容,已经非常详细。

完结!

发表评论

表情:
评论列表 (有 0 条评论,320人围观)

还没有评论,来说两句吧...

相关阅读

    相关 GIT详细

    1.初识GIT GIT:分布式版本控制系统 作用:源代码管理 好处:方便多人协同开发,方便版本控制 起源:辅助linux内核开发 现状:已经被微软收购 2.G