👋Класс HashSet

Это одна из реализаций интерфейса Set.
🔹Он использует хэширование для хранения элементов, что обеспечивает высокую эффективность операций добавления, удаления и поиска элементов.
🔹Класс HashSet не гарантирует порядок элементов, итерация по множеству может осуществляться в произвольном порядке.

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

Код: GitLab 👩‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2
😐Программа для учета расходов.

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

⚡️Предлагается ввести данные о своих доходах и зарплате, а затем управлять своими расходами.

Код: GitLab 👩‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
💡Интерфейс Deque

🧑‍💻 Интерфейс Deque, используется для создания коллекции, которая представляет собой двустороннюю очередь элементов. Он расширяет интерфейсы Queue и Collection и определяет методы для работы с очередью, такие как добавление элемента в начало или конец очереди, удаление элемента из начала или конца очереди, проверка наличия элемента и т.д.

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

☝️Использование интерфейса Deque может быть полезным при работе с потоками данных, когда необходимо управлять порядком обработки элементов с обеих сторон или обрабатывать элементы в порядке приоритета.

⚡️Методы:

📖Добавление элементов:
🔸 void addFirst(E e): Добавляет элемент в начало очереди.
🔸 void addLast(E e): Добавляет элемент в конец очереди.

Удаление элементов:
🔸 boolean offerFirst(E e): Добавляет элемент в начало очереди и возвращает true, если удалось, иначе false.
🔸 boolean offerLast(E e): Добавляет элемент в конец очереди и возвращает true, если удалось, иначе false.
🔸 E removeFirst(): Удаляет и возвращает первый элемент, выбрасывая исключение, если очередь пуста.
🔸 E removeLast(): Удаляет и возвращает последний элемент, выбрасывая исключение, если очередь пуста.
🔸 E pollFirst(): Удаляет и возвращает первый элемент, возвращая null, если очередь пуста.
🔸 E pollLast(): Удаляет и возвращает последний элемент, возвращая null, если очередь пуста.
🔸 E getFirst(): Возвращает первый элемент без удаления, выбрасывая исключение, если очередь пуста.
🔸 E getLast(): Возвращает последний элемент без удаления, выбрасывая исключение, если очередь пуста.
🔸 E peekFirst(): Возвращает первый элемент без удаления, возвращая null, если очередь пуста.
🔸 E peekLast(): Возвращает последний элемент без удаления, возвращая null, если очередь пуста.

❗️Другие методы:
🔸 boolean contains(Object o): Проверяет, содержит ли очередь указанный элемент.
🔸 int size(): Возвращает количество элементов в очереди.
🔸 boolean isEmpty(): Проверяет, пуста ли очередь.

Код: GitLab 👩‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3
🧑‍💻 Напишем функцию, которая проверяет каждый ход в игре крестики-нолики.

🗄Функция принимает текущее состояние поля в виде двумерного массива.
🔸Если игрок 'X' выиграл - везвращаем 'Х won', если выиграл игрок 'О', то 'O won'.
🔸Если никто не выиграл - 'Next.
🔸Если поле полностью заполнено, но никто не выиграл - 'Game over'.


✍️Функция solution, которая проверяет текущее состояние игры в крестики-нолики и возвращает соответствующий результат в зависимости от выигрыша, продолжения игры или окончания.

Код: GitLab 👩‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
🧠Алгоритм Бойера-Мура.

💻Алгоритм применяется для поиска подстроки в строке.

❗️Его эффективность особенно проявляется в случаях, когда искомая подстрока длиннее или сопоставима по длине с самой строкой, в которой производится поиск.

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

Код: GitLab 👩‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
🧑‍💻 Отправка HTTP-запросов (GET, POST, DELETE) с использованием стандартных классов Java для работы с сетью.🌐

💡Для выполнения HTTP-запросов используем классы HttpURLConnection, URL, BufferedReader, OutputStream и InputStreamReader из пакета java.net.

🗄 Сначала устанавливаем соединение с сервером, указываем тип запроса (GET, POST, DELETE) и настраивает необходимые параметры запроса.

⚡️После этого для запроса GET создается объект URL, через который происходит установка соединения.
Полученный ответ считывается построчно с
использованием BufferedReader и добавляется в буфер для дальнейшего использования.

⚡️Для запроса POST устанавливается флаг setDoOutput(true), чтобы разрешить вывод данных в соединение. После этого отправляются данные в формате JSON через OutputStream.
После отправки данных читается ответ сервера и выводится на экран.

⚡️Для запроса DELETE устанавливается метод запроса, который затем выполняется, и получается код ответа сервера.

🧠 Здесь мы отправляем HTTP-запросы без использования сторонних библиотек, прямо с помощью встроенных средств Java для работы с HTTP.

Код: GitLab (в README есть описание) 👩‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
👍21
☃️Всех с наступающим Новым Годом!

✈️Пусть каждый из вас, открывая новую страницу в календаре, находит невероятные возможности для реализации своих мечт и целей.

🧑‍💻Пусть каждый день приносит радость, а каждый труд - удовлетворение от результатов.

🏡Желаю не только радости и отдыха, но и набраться сил для покорения новых вершин в грядущем году!🌲
Please open Telegram to view this post
VIEW IN TELEGRAM
🤩4😍2🤝21🔥1
This media is not supported in your browser
VIEW IN TELEGRAM
Всем привет! 👋

🎚️ Сегодня, 1 марта стартовал пятый сезон
«Тренировки по алгоритмам 5.0» от Яндекс 💸

💜 Как устроены Тренировки 😎 и что получат участники:

📣 Обновлённые лекции по алгоритмам.

👥 Собеседования в прямом эфире.

🎁 Сертификат о прохождении Тренировок.

👥 Персональные тренировки для топ-200.

👥 Пробное алгоритмическое собеседование для топ-200.


Записывайтесь по 🧠ссылке
Please open Telegram to view this post
VIEW IN TELEGRAM
🤩2
Media is too big
VIEW IN TELEGRAM
🧠 NotchNook

Небольшое приложение для macOS 💻
Созданное специально для пользователей MacBook
с вырезом (notch) на экране.

👏 Основная цель приложения — оптимизация использования пространства вокруг выреза и обеспечение более эффективной работы.

Уже активированный файл ниже, пользуйтесь!

💬Discord
Please open Telegram to view this post
VIEW IN TELEGRAM
11🔥1👏1🙏1
NotchNook_1_2_4.dmg
42.6 MB
⌨️Программа сервера и клиента.

🔣Общий процесс

1. Клиент запускает соединение и начинает отправлять строки.
2. Сервер обрабатывает каждую строку и возвращает соответствующий ответ в зависимости от содержимого строки.
3. Клиент получает ответ от сервера.

Таким образом, сервер отвечает "200 OK" ✉️ для строк, содержащих латинские буквы, кириллицу и цифры, и "404 Not Found" 😟 для всех остальных строк.
Если север недоступен "503 Service Unavailable" 🤷‍♂️.

Код: GitLab 👩‍💻.
Please open Telegram to view this post
VIEW IN TELEGRAM
13🔥1🤝1
✈️Задача на тему многопоточности.

➡️ Необходимо реализовать потокобезопасный счетчик, который будет увеличивать своё значение до определенного лимита.
⬇️ Когда лимит достигнут, все потоки, пытающиеся увеличить значение счетчика, должны блокироваться до тех пор, пока один из потоков не сбросит значение счетчика в ноль.

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

📷 Например, сервер может ограничивать количество одновременных запросов, которые он обрабатывает, чтобы предотвратить перегрузку. Когда достигается лимит одновременных запросов, сервер может ожидать завершения текущих запросов перед тем, как начать обработку новых.

❣️ ТЗ

Код: GitLab 👩‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
10🔥2👍1