Использование массива байтов в качестве ключа карты в Java
В этом руководстве мы узнаем, как использовать массив байтов в качестве ключа в HashMap. К сожалению, из-за особенностей работы HashMap сделать это напрямую не получится. Мы разберёмся, почему так происходит, и рассмотрим несколько способов решения этой проблемы. HashMap использует механизм хеширования для хранения и извлечения значений. Когда мы вызываем метод put(key, value), HashMap вычисляет хеш-код на основе метода hashCode() ключа. Этот хеш используется для определения "корзины", в которую...
3 года назад
Оптимизация в Java. For vs Switch
Данная статья продолжает цикл моих переводов статей Jakob Jenkov об оптимизации Java приложений. Для некоторых типов операций вы можете заменить цикл Java for на оператор switch с помощью переходов. Но какая из двух конструкций работает лучше? Это мы и рассмотрим. Замена for на switch Прежде всего, давайте посмотрим, как вы можете заменить цикл for оператором switch. Представьте, что у вас есть операция, которая требует, чтобы вы перебирали массив и что-то делали с каждым его элементом. Например, суммирование значений байтов в байтовом массиве. Представьте также, что вы не знаете, сколько элементов суммировать из массива...