У меня есть вопрос о HashMaps.Мы пишем маленький (-ish) компилятор и для этого мы используем таблицу символов.Мы реализуем это с помощью хэш-карты.
Теперь, чтобы принять во внимание области, мы используем стек.Поэтому каждый раз, когда мы входим в новую область, мы помещаем токен, который обозначает это в стеке.Затем мы помещаем все ключи из hashmap в стек для всех символов, с которыми мы сталкиваемся.Пока все хорошо.
Когда мы выходим из области видимости, мы выталкиваем стек, пока не достигнем токена.Каждый символ, который мы передаем перед этим, мы должны удалить из нашего хэш-карты.
Учитывая следующий фрагмент кода:
{
a = 5;
{
a = 5;
}
}
Примет ли это хэш-карта?Например, я бы ввел их, используя в качестве ключа.Это не будет проблемой, но при появлении и удалении их сможет ли Java сделать разницу между двумя объектами?Или второй перезапишет первый?