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

169 записей с тегом "Java Коллекции"

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

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

1. Обзор

В этом коротком руководстве мы узнаем, как преобразовать итератор в список в Java. Мы рассмотрим несколько примеров с использованием цикла while, Java 8 и нескольких распространенных библиотек.

Мы будем использовать Iterator с Integer для всех наших примеров:

Iterator<Integer> iterator = Arrays.asList(1, 2, 3).iterator();

2. Использование цикла while

· 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. Определение проблемы

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

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

1. Обзор

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

Мы начнем с простых решений Java, а затем рассмотрим варианты, которые также предоставляют библиотеки Guava и Apache Commons.

2. Итерируемый и итератор

Во- первых, мы определим наш Iterable :

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

1. Введение

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

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

2. Получение доступа к элементам в наборе

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

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

1. Обзор

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

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

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

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

1. Обзор

В этом руководстве мы обсудим три метода keySet() , entrySet() и values() интерфейса Map в Java. Эти методы используются для получения набора ключей, набора сопоставлений ключ-значение и набора значений соответственно.

2. Инициализация карты

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

Давайте создадим и инициализируем HashMap , ключ которого имеет тип String , а значение имеет тип Integer :

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

1. Обзор

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

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

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

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

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

1. Введение

В этом руководстве мы узнаем, как использовать массив байтов в качестве ключа в HashMap . Из-за того, как работает HashMap , мы, к сожалению, не можем сделать это напрямую. Мы выясним, почему это так, и рассмотрим несколько способов решения этой проблемы.

2. Разработка хорошего ключа для HashMap

2.1. Как работает HashMap