Разница между HashMaps положить и добавить - PullRequest
0 голосов
/ 10 марта 2020

В чем разница между

ans.put(key, new ArrayList());

и

ans.get(key).add(s);

ans является HashMap и s является String объектом.

Ответы [ 2 ]

2 голосов
/ 10 марта 2020
ans.put(key, new ArrayList());

Эта команда вставляет новый ключ с новым пустым ArrayList в качестве значения для HashMap, если ключ не существует на карте, или заменяет значение существующего ключа на новый пустой ArrayList.

ans.get(key).add(s);

Эта команда запрашивает значение ключа в HashMap и добавляет новое значение String в сохраненный ArrayList. Эта команда выдает исключение NullPointerException, если ключ не существует в HashMap.

Метод put в HashMap сохраняет пару ключ-значение. Метод get HashMap запрашивает значение пары ключ-значение по ключу.

2 голосов
/ 10 марта 2020

get получает элемент из хеш-карты по ключу, вы вызываете функцию добавления элемента из хеш-карты.

put добавляет новый элемент в хеш-карту.

Но на будущее просто прочитайте документы .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...