【问题标题】:How to check if a hashmap is Injective (OneOnOne) in Java?如何在 Java 中检查 hashmap 是否是单射的(OneOnOne)?
【发布时间】:2019-12-16 22:03:04
【问题描述】:

我如何编写一个方法来检查哈希图是否是单射的(OneOnOne)?这样地图中的每个值都只有一个键。我想要它,所以它可以通过这个测试:

    Map<Integer, Character> m = new HashMap<Integer, Character>();
    m.put(1, 'l');
    m.put(2, 'l');

    assertFalse(MapUtil.isOneOnOne(m));

【问题讨论】:

    标签: java dictionary testing hashmap injective-function


    【解决方案1】:
    
          Map<Integer, Character> m = new HashMap<>();
          m.put(1, 'l');
          m.put(2, 'l');
          System.out.println(isOneToOne(m));
    
    
          public static boolean isOneToOne(Map<?, ?> map) {
             Set<?> set = new HashSet<>(map.values());
             return set.size() == map.keySet().size();
          }
    
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-12-31
      • 2021-12-02
      • 2014-09-13
      • 2016-02-27
      • 2021-07-11
      • 1970-01-01
      相关资源
      最近更新 更多