🔍 Ответ на задачу про работу с HashMap и null 🗺
✍️ HashMap в Java разрешает использовать ключ null.
Правильный ответ: 5
Если задача была полезна, ставь лайк 👍, подписывайся и пиши свое решение или вопросы в комментариях! 💬
#java #hashmap #null #map #java_tasks #java_interview_tasks
✍️ HashMap в Java разрешает использовать ключ null.
Правильный ответ: 5
Если задача была полезна, ставь лайк 👍, подписывайся и пиши свое решение или вопросы в комментариях! 💬
#java #hashmap #null #map #java_tasks #java_interview_tasks
Telegram
Java Interview Tasks
Какой результат будет выведен на экран после выполнения следующего кода?
import java.util.HashMap;
public class Main {
public static void main(String[] args) {
HashMap<String, Integer> map = new HashMap<>();
map.put(null, 1);
…
import java.util.HashMap;
public class Main {
public static void main(String[] args) {
HashMap<String, Integer> map = new HashMap<>();
map.put(null, 1);
…
👍10🔥9❤3
🔍 Ответ на задачу про TreeMap: Любит ли она null-ключи? 🗺
Коллекции в Java по-разному относятся к null. Если HashMap его терпит, то что скажет TreeMap?
Объяснение:
Многие считают, что TreeMap категорически запрещает null-ключи. На самом деле, TreeMap — это просто дерево, которое полагается на механизм сравнения.
Проблема не в самой TreeMap, а в компараторе. Если вы используете дефолтный компаратор (Natural Ordering), он попытается вызвать
Однако, если при создании TreeMap передать ей кастомный компаратор, который умеет обрабатывать null (например,
Вывод:
TreeMap сама по себе НЕ запрещает null-ключи. Ошибка возникает только при использовании компаратора, не поддерживающего null (что происходит по умолчанию).
⚡️ Не перепутайте:
• HashMap: разрешает один null-ключ.
• Hashtable: запрещает null-ключи и значения на уровне методов
• TreeMap: позволяет использовать null-ключи, ЕСЛИ предоставлен соответствующий компаратор.
#java #collections #treemap #null #map #интервью #java_interview_tasks
Коллекции в Java по-разному относятся к null. Если HashMap его терпит, то что скажет TreeMap?
Объяснение:
Многие считают, что TreeMap категорически запрещает null-ключи. На самом деле, TreeMap — это просто дерево, которое полагается на механизм сравнения.
Проблема не в самой TreeMap, а в компараторе. Если вы используете дефолтный компаратор (Natural Ordering), он попытается вызвать
compareTo() у ключа. Вызов метода у null неизбежно приведет к NullPointerException.Однако, если при создании TreeMap передать ей кастомный компаратор, который умеет обрабатывать null (например,
Comparator.nullsFirst), то TreeMap будет прекрасно работать с null-ключами.Вывод:
TreeMap сама по себе НЕ запрещает null-ключи. Ошибка возникает только при использовании компаратора, не поддерживающего null (что происходит по умолчанию).
⚡️ Не перепутайте:
• HashMap: разрешает один null-ключ.
• Hashtable: запрещает null-ключи и значения на уровне методов
put/get.• TreeMap: позволяет использовать null-ключи, ЕСЛИ предоставлен соответствующий компаратор.
#java #collections #treemap #null #map #интервью #java_interview_tasks
🔥5👍2❤1👎1