Как проверить, является ли хэш-карта Injective (OneOnOne) в Java?

Как мне написать метод, который может проверить, является ли хэш-карта Injective (OneOnOne)? Чтобы для каждого значения на карте был только один ключ. Я хочу, чтобы он прошел этот тест:

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

    assertFalse(MapUtil.isOneOnOne(m));

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

Другие вопросы по тегам