Стек с помощью связанного списка на Java

Стек с использованием связанного списка на Java

LinkedListStackРанее мы уже писали свой стек с помощью одномерного массива. Однако в этой статье мы напишем реализацию стека с помощью связанного списка и напишем для него несколько юнит-тестов. (далее…)

В чем разница между Set и Set. Пример использования Set

В чем разница между Set и Set со знаком вопроса. Пример использования Set

В этой статье мы разберемся что значит знак вопроса в Set<?>. Такая запись означает, что множество может содержать элементы любого типа, но и просто Set может содержать элементы любого типа — так в чем же разница между ними? (далее…)

Руководство по родовым типам в Java (Java Generics) — описание и примеры

Genrics* были добавлены в Java 5 и сейчас являются неотъемлемой частью Java Core. Если вы знакомы с Java Collections версии 5 или выше, то я уверен, что вы использовали generics в своих программах. (далее…)

Как избежать ConcurrentModificationException при использовании Iterator?

Сегодня мы рассмотрим способ избежать ConcurrentModificationException при использовании Iterator. Эта ситуация чаще всего возникает в тех случаях, когда с помощью итератора проходят по элементам коллекции и в какой-то момент при вызове iterator.next() будет брошен ConcurrentModificationException. Эта ситуация может произойти как в многопоточной, так и в однопоточной среде. (далее…)

Пример использования Java Priority Queue (PriorityQueue)

Все мы знаем, что очереди работают по следующей модели: FIFO (First In First Out — «первым пришёл — первым ушёл»), но иногда появляется необходимость обрабатывать объекты в очереди, основанной на приоритете. Например, у нас есть приложение, которое генерирует отчеты и обрабатывает большое количество данных, которые требуют много время на обработку. Когда клиенты посылают запросы к нашему приложению, то образуется очередь, но мы хотим обработать премиум клиентов первыми, а обычных клиентов уже после них. Именно в этом случае нам будет лучше всего использовать PriorityQueue. (далее…)