ValenKof's blog

By ValenKof, 12 years ago, In Russian

В процессе изучения Java возник вопрос касательно TreeMap/HashMap. Вот пример кода:

Scanner in = new Scanner(System.in);
int n = in.nextInt();
Map<Integer, Integer> map = new TreeMap<Integer, Integer>();
for (int i = 0; i < n; ++i) {
    int key = in.nextInt();
    Integer value = map.get(key);
    map.put(key, 1 + (value == null ? 0 : value));
}

Правильно ли я понимаю, что здесь проиходит 2 поиска в Map при каждом обновлении? Если да, то как реализовать такое за 1 поиск. Интересует работа именно с Map, т.к. задачи могут быть другие, это просто пример.

  • Vote: I like it
  • +5
  • Vote: I do not like it