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

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

1. Введение

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

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

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

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

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

1. Обзор

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

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

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

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

1. Введение

В этом кратком руководстве мы объясним, как преобразовать список элементов в строку . Это может быть полезно в определенных сценариях, например, при выводе содержимого на консоль в удобочитаемой форме для проверки/отладки.

2. Стандартная функция toString() в списке

Один из самых простых способов — вызвать метод toString() для списка :

@Test
public void whenListToString_thenPrintDefault() {
List<Integer> intLIst = Arrays.asList(1, 2, 3);

System.out.println(intLIst);
}

· 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

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

1. Обзор

Карта — одна из наиболее распространенных структур данных в Java, а String — один из наиболее распространенных типов ключа карты. По умолчанию карта такого типа имеет ключи с учетом регистра.

В этом кратком руководстве мы рассмотрим различные реализации Map , которые принимают все варианты регистра String как один и тот же ключ .

2. Пристальный взгляд на карту с ключами без учета регистра

Давайте рассмотрим проблему, которую мы пытаемся решить, более подробно.

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

1. Обзор

В этом руководстве мы объясним, как сопоставлять списки различных типов элементов с помощью платформы ModelMapper . Это предполагает использование универсальных типов в Java в качестве решения для преобразования различных типов данных из одного списка в другой .

2. Сопоставитель модели

Основная роль ModelMapper заключается в сопоставлении объектов путем определения того, как одна объектная модель сопоставляется с другой, называемой объектом преобразования данных (DTO).

Чтобы использовать ModelMapper , мы начинаем с добавления зависимости в наш pom.xml :

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

1. Обзор

В этом уроке мы собираемся преобразовать List<E> в Map<K, List<E>> . Мы добьемся этого с помощью Stream API Java и функционального интерфейса Supplier .

2. Поставщик в JDK 8

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

Кроме того, Поставщик может выполнять ленивую генерацию значений .

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

1. Обзор

При запуске контейнеров Docker мы иногда можем столкнуться с ошибкой «имя уже используется контейнером» .

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

Сначала мы покажем, как вызвать эту ошибку . Тогда мы объясним причину этого. Наконец, мы покажем, как это исправить.

2. Как вызвать ошибку