Перейти к основному содержимому

54 записи с тегом "Java Map"

Посмотреть все теги

· 5 мин. чтения

1. Введение

В этом кратком руководстве мы узнаем, как сортировать HashMap в Java .

В частности, мы рассмотрим сортировку записей HashMap по их ключу или значению, используя:

  • ДеревоКарта
  • ArrayList и Collections.sort()
  • Набор деревьев
  • Использование потокового API
  • Использование библиотеки гуавы

2. Использование древовидной карты

· 3 мин. чтения

1. Обзор

В этом руководстве мы сосредоточимся на преобразовании карты в строку и наоборот.

Сначала мы увидим, как добиться этого с помощью основных методов Java, а затем воспользуемся некоторыми сторонними библиотеками.

2. Пример основной карты

Во всех примерах мы будем использовать одну и ту же реализацию Map :

· 4 мин. чтения

1. Введение

В этом руководстве мы обсудим несколько примеров использования Java Stream ` для работы [с ](/lessons/b/-java-8-streams-introduction)Map[ . ](/lessons/b/-java-hashmap) Стоит отметить, что некоторые из этих упражнений могут быть решены с использованием двунаправленной структуры данных Map` , но здесь нас интересует функциональный подход.

Во-первых, мы объясним основную идею, которую будем использовать для работы с Maps и Stream s. Затем мы представим несколько разных проблем, связанных с Maps , и их конкретные решения с использованием Stream s.

2. Основная идея

· 6 мин. чтения

1. Обзор

В этом руководстве мы узнаем, как использовать класс IdentityHashMap в Java. Мы также рассмотрим, чем он отличается от общего класса HashMap . Хотя этот класс реализует интерфейс Map , он нарушает контракт интерфейса Map .

Для получения более подробной документации мы можем обратиться к странице документа IdenityHashMap java. Подробнее об общем классе HashMap можно прочитать в A Guide to Java HashMap .

2. О классе IdentityHashMap

Этот класс реализует интерфейс Map . Интерфейс карты требует использования метода equals() при сравнении ключей. Однако класс IdentityHashMap нарушает этот договор. Вместо этого он использует ссылочное равенство (==) для ключевых операций поиска .

· 2 мин. чтения

1. Обзор

Эта короткая статья покажет, как преобразовать значения карты в массив, список или набор , используя простую Java, а также быстрый пример на основе Guava .

Эта статья является частью серии «Java — Back to Basic» здесь, на ForEach.

2. Сопоставьте значения с массивом

· 6 мин. чтения

1. Введение

HashMap — это мощная структура данных, которая имеет широкое применение, особенно когда требуется быстрое время поиска. Тем не менее, если мы не обращаем внимания на детали, это может стать неоптимальным.

В этом уроке мы рассмотрим, как сделать HashMap максимально быстрым.

2. Узкое место HashMap

`Оптимистическое постоянное время извлечения элемента HashMap ( O(1)` ) исходит из мощности хеширования. Для каждого элемента HashMap вычисляет хэш-код и помещает элемент в корзину, связанную с этим хэш-кодом. Поскольку неравные объекты могут иметь одинаковые хэш-коды (явление, называемое конфликтом хэш-кодов), сегменты могут увеличиваться в размерах.

· 7 мин. чтения

1. Обзор

В этом руководстве будут рассмотрены различные подходы к обновлению значения, связанного с данным ключом в HashMap . Сначала мы рассмотрим некоторые распространенные решения, использующие только те функции, которые были доступны до Java 8. Затем мы рассмотрим некоторые дополнительные решения, доступные в Java 8 и более поздних версиях.

2. Инициализация нашего примера HashMap

Чтобы показать, как обновлять значения в HashMap , мы должны сначала создать и заполнить его. Итак, мы создадим карту с фруктами в качестве ключей и их ценами в качестве значений:

Map<String, Double> priceMap = new HashMap<>();
priceMap.put("apple", 2.45);
priceMap.put("grapes", 1.22);

· 4 мин. чтения

1. Обзор

В этой быстрой статье мы рассмотрим, как инвертировать карту в Java . Идея состоит в том, чтобы создать новый экземпляр Map<V, K> для данной карты типа Map<K, V> . Кроме того, мы также увидим, как обрабатывать случай, когда в исходной карте присутствуют повторяющиеся значения.

Пожалуйста, обратитесь к другой нашей статье, чтобы узнать больше о самом классе HashMap .

2. Определение проблемы

Предположим, у нас есть карта с несколькими парами ключ-значение :

· 4 мин. чтения

1. Обзор

Преобразование списка в карту — обычная задача. В этом уроке мы рассмотрим несколько способов сделать это.

Предположим, что каждый элемент списка имеет идентификатор, который будет использоваться в качестве ключа в результирующей карте .

2. Образец структуры данных

· 4 мин. чтения

1. Обзор

Мы часто используем карты для хранения набора пар ключ-значение. Затем, в какой-то момент, нам часто нужно перебирать их .

В этом руководстве мы сравним различные методы итерации карты, выделив, когда может быть полезно использовать Map.Entry . Затем мы узнаем, как можно использовать Map.Entry для создания кортежа. Наконец, мы создадим упорядоченный список кортежей.

2. Оптимизация итерации карты

Предположим, что у нас есть карта названий книг с именем автора в качестве ключа: