Java Developer – Telegram
Java Developer
15.7K subscribers
1.86K photos
140 videos
2 files
2.09K links
Авторский канал действующего разработчика — интересные заметки, новые технологии, библиотеки и фреймворки

Сотрудничество: @bape_ads
Прайс: @bape_media

РКН: https://clck.ru/3GHfTK

Реклама на бирже: https://telega.in/c/java_tg
Download Telegram
⌨️ NavigableSet

NavigableSet — это интерфейс, который расширяет интерфейс SortedSet и добавляет навигационные методы для поиска элементов в отсортированном множестве.

Основное применение NavigableSet — это реализация структур данных, где важен упорядоченный доступ к элементам, таким как:

Деревья (Red-Black, AVL и др.);

Приоритетные очереди;

Сортированные словари.

Основные реализации в Java — TreeSet и ConcurrentSkipListSet.

➡️ Java Developer
Please open Telegram to view this post
VIEW IN TELEGRAM
Что выведет код сверху?
Anonymous Quiz
37%
datadata
18%
dataa
27%
datadatadataa
19%
Ошибка компиляции
⌨️ ScheduledExecutorService

ScheduledExecutorService — это интерфейс в Java из пакета java.util.concurrent, который предоставляет возможность планирования и выполнения задач с задержкой или периодически.

Основные реализации ScheduledExecutorService:

ScheduledThreadPoolExecutor — это конкретная реализация ScheduledExecutorService, предоставляемая в стандартной библиотеке Java. Она является потокобезопасной реализацией и использует пул потоков для выполнения задач.

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

➡️ Java Developer
Please open Telegram to view this post
VIEW IN TELEGRAM
🤣1
Вопрос с собеседования

Каково максимальное число значений hashCode()?

Ответ: Число значений следует из сигнатуры int hashCode() и равно диапазону типа int — 2^32.

➡️ Java Developer
Please open Telegram to view this post
VIEW IN TELEGRAM
⌨️ Метод ordinal() в Enum

ordinal() является частью класса Enum. Класс Enum используется для создания типов данных, представляющих ограниченное множество значений, таких как перечисления (enumerations).

Метод ordinal() возвращает порядковый номер (индекс) конкретного элемента перечисления в объявленном порядке.

➡️ Java Developer
Please open Telegram to view this post
VIEW IN TELEGRAM
Что выведет код сверху?
Anonymous Quiz
13%
0
11%
1
14%
10
18%
null
44%
IndexOutOfBoundsException
📌 Задача с LeetCode (Maximum Product Subarray)

На вход подается целочисленный массив. Необходимо вычислить максимальное произведение, которое встречается в подмассиве исходного массива ([2,3,-2,4] — ответ 6).

Инициализируются переменные max, min и ans значением первого элемента массива;

В цикле for проходим по остальным элементам массива (начиная со второго).

Если текущий элемент отрицательный, то меняем местами значения переменных max и min.

Обновляем значения переменных max и min, сравнивая текущий элемент с произведением предыдущего значения max/min на текущий элемент.

Обновляем значение переменной ans, сравнивая текущее значение max с текущим значением ans.

По завершении цикла возвращаем значение переменной ans, которое и будет являться максимальным произведением подмассива.

Описание и условие задачи на YouTubeКЛИК
Эта задача на LeetCode — КЛИК

➡️ Java Developer
Please open Telegram to view this post
VIEW IN TELEGRAM
Что выведет код сверху?
Anonymous Quiz
18%
1 2 3 4 5 6 7 8 9 10 11
37%
11
28%
1 1 1 1
18%
Ошибка компиляции
⌨️ Сортировка слиянием (Merge Sort)

Сортировка слиянием подразумевает принцип «разделяй и властвуй». В чем идея и ее смысл?

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

➡️ Java Developer
Please open Telegram to view this post
VIEW IN TELEGRAM
1
Что выведет код сверху?
Anonymous Quiz
14%
64 0
22%
0 64
46%
256 0
17%
0 256
📌 Задача с LeetCode (Jump Game)

Дан массив чисел, изначально мы находимся в начале массива, а каждый элемент в нём представляет максимальную длину прыжка в этой позиции. Нужно вернуть true, если мы сможем дойти до конца массива, и вернуть false — если нет.

Переменная reachable хранит индекс самой правой позиции, до которой можно добраться из текущего положения;

В цикле проверяем, если текущий индекс i больше значения reachable, то это означает, что мы не можем достичь текущей позиции i. В таком случае возвращаем false;

Обновляем значение reachable, присваивая ему максимум между текущим значением reachable и суммой текущего индекса i и значения элемента массива nums[i];

По завершении цикла возвращаем true.

Описание и условие задачи на YouTubeКЛИК
Эта задача на LeetCode — КЛИК

➡️ Java Developer
Please open Telegram to view this post
VIEW IN TELEGRAM
Что выведет код сверху?
Anonymous Quiz
7%
try catch
62%
try finally
19%
try catch finally
13%
finally
⌨️ Метод Collections.shuffle

Метод shuffle() из класса Collections используется для перемешивания элементов коллекции в случайном порядке.

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

shuffle() не гарантирует уникальность создаваемых перестановок при многократном вызове. Работает за линейное время O(n).

➡️ Java Developer
Please open Telegram to view this post
VIEW IN TELEGRAM