如何检查 Java 中的 hashmap 是否单射 (OneOnOne)?

How to check if a hashmap is Injective (OneOnOne) in Java?

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

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

    assertFalse(MapUtil.isOneOnOne(m));

      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();
      }