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

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

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

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

1. Обзор

Поиск различий между наборами объектов одного и того же типа данных — обычная задача программирования. В качестве примера представьте, что у нас есть список студентов, подавших заявку на экзамен, и еще один список студентов, которые его сдали. Разница между этими двумя списками даст нам студентов, не сдавших экзамен.

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

В этом кратком руководстве мы рассмотрим, как найти различия между двумя списками . Мы попробуем несколько разных подходов, включая обычную Java (с потоками и без них ) и использование сторонних библиотек, таких как Guava и Apache Commons Collections .

2. Настройка теста

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

1. Обзор

В этом руководстве показано, как десериализовать массив JSON в массив или коллекцию Java с помощью Jackson 2 .

Если вы хотите копнуть глубже и узнать о других интересных вещах, которые вы можете делать с Jackson 2, — перейдите к основному руководству по Jackson .

2. Неупорядочивание в массив

Джексон может легко десериализоваться в массив Java:

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

1. Обзор

В Java 9 появился долгожданный синтаксический сахар для создания небольших неизменяемых экземпляров Collection с использованием лаконичного однострочного кода. Согласно JEP 269 , в JDK 9 будут включены новые удобные фабричные методы.

В этой статье мы рассмотрим его использование вместе с деталями реализации.

2. История и мотивация

Создание небольшой неизменяемой коллекции в Java традиционным способом очень многословно.

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

1. Обзор

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

2. Настройка

Согласно документации Java List#equals , два списка равны, если они содержат одни и те же элементы в одном и том же порядке. Следовательно, мы не можем просто использовать метод equals , так как мы хотим выполнять независимое от порядка сравнение.

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

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

1. Обзор

Что касается коллекций , стандартная библиотека Java предоставляет множество вариантов на выбор. Среди этих вариантов есть две известные реализации List , известные как ArrayList и LinkedList, каждая со своими свойствами и вариантами использования.

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

2. Список массивов

Внутри ArrayList использует массив для реализации интерфейса List . Поскольку массивы в Java имеют фиксированный размер, ArrayList создает массив с некоторой начальной емкостью. Попутно, если нам нужно хранить больше элементов, чем эта емкость по умолчанию, он заменит этот массив новым и более просторным.

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

1. Обзор

В этом кратком руководстве мы рассмотрим интерфейс MultiValuedMap , предоставляемый в библиотеке Apache Commons Collections .

MultiValuedMap предоставляет простой API для сопоставления каждого ключа с набором значений в Java. Это преемник org.apache.commons.collections4.MultiMap , который устарел в Commons Collection 4.1.

2. Зависимость от Maven

Для проектов Maven нам нужно добавить зависимость commons-collections4 :

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

1. Обзор

EnumMap — это реализация Map , которая использует исключительно Enum в качестве своих ключей.

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

2. Настройка проекта

Представьте себе простое требование, в котором нам нужно сопоставить дни недели со спортом, в который мы играем в этот день:

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

1. Введение

В этом уроке мы обсудим интерфейс Java Queue .

Во- первых, мы взглянем на то, что делает Queue , и на некоторые из его основных методов `` . Далее мы углубимся в ряд реализаций, которые Java предоставляет в качестве стандарта.

Наконец, мы поговорим о безопасности потоков, прежде чем закончить все это.

2. Визуализация очереди

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

1. Обзор

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

Естественно, мы также рассмотрим некоторые предостережения.

2. Определение нашей коллекции

Во-первых, мы проиллюстрируем два подхода, изменяющих исходную структуру данных. Затем мы поговорим о двух других вариантах, которые вместо удаления элементов создадут копию исходной коллекции без них.

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

1. Обзор

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

В частности, мы сосредоточимся на containsKey и get.

2. содержитКлюч

Если мы посмотрим на JavaDoc для Map#containsKey :