Java Learning
19.8K subscribers
1.57K photos
1 video
3 files
949 links
№ 5079899194

Обучающий канал по Java

Ссылка для друга - https://t.iss.one/+ZEYYht6-46w5MDM6

По всем вопросам @mascarov_valentin

Реклама на бирже - https://telega.in/c/Java_per_month
Download Telegram
⚙️ Optional.flatMap()

В Java метод Optional.flatMap() позволяет преобразовать значение внутри Optional, возвращая другой Optional. Это особенно полезно для работы с вложенными Optional.

Java Learning 👩‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7
Что будет выведено при выполнении кода?

Пояснение
⬇️
Переменная x объявлена как final, что делает её неизменяемой после инициализации. Она выводит значение 10. Класс FinalExample содержит переменную value, также объявленную как final, и метод show, который возвращает строку с этим значением. Финальный метод можно вызывать, но его нельзя переопределить в подклассах. Код компилируется и работает без ошибок.


Java Learning 👩‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2
⚙️ Collectors.toMap()

В Java метод Collectors.toMap() собирает элементы потока в карту (Map), где вы можете указать функции для ключей и значений. Это удобно для преобразования коллекций в структуру ключ-значение.

Java Learning 👩‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6
⚙️ String.replaceAll()

В Java метод String.replaceAll() заменяет все вхождения текста, соответствующего регулярному выражению, на заданную строку. Это мощный инструмент для обработки строк.

Java Learning 👩‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
👍9
REST или GraphQL? Этот выбор может определить, насколько удобным, быстрым и масштабируемым будет ваш API.

26 августа в 20:00 на открытом уроке мы разберём, когда стоит выбрать REST, а когда — GraphQL, а также реализуем оба подхода в Spring Boot. Эксперт покажет критерии выбора, разберёт практические кейсы и типичные ошибки.

Backend-разработчики на Java/Kotlin и тимлиды узнают, как применять эти технологии на практике, чтобы их проекты работали быстрее, были проще в сопровождении и готовыми к росту.

Вебинар проходит в преддверие старта курса «Разработчик на Spring Framework».

Регистрируйтесь сейчас и получите скидку на обучение: https://otus.pw/jwDb/

Реклама. ООО "ОТУС ОНЛАЙН-ОБРАЗОВАНИЕ", ИНН: 9705100963
👍1
👩‍💻 Задача по Java: Подсчёт частоты слов в строке

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

Пример:

public class Main {
public static void main(String[] args) {
String text = "Hello, world! Hello Java.";
Map<String, Integer> result = countWordFrequency(text);
System.out.println(result);
// Ожидаемый результат:
// {hello=2, world=1, java=1}
}
}


Решение задачи на картинке ☝️

Java Learning 👩‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5🔥1😁1
Что будет выведено при выполнении кода?

Пояснение
⬇️
Статический вложенный класс Nested может быть создан без экземпляра внешнего класса Outer. Код Outer.Nested nested = new Outer.Nested(); корректен, и метод display выводит "Nested class".


Java Learning 👩‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
⚙️ String.format()

В Java метод String.format() позволяет форматировать строки с использованием плейсхолдеров и спецификаторов. Это удобно для создания строк с динамическими данными.

Java Learning 👩‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
👍9
⚙️ Map.merge()

В Java метод Map.merge() объединяет значение для указанного ключа с новым значением с помощью заданной функции. Это удобно для обновления данных в словаре на основе существующих значений.

Java Learning 👩‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
👍10
#вопросы_с_собеседований
Что будет, если в Map положить два значения с одинаковым ключом?

Если в Map положить два значения с одинаковым ключом, то произойдет следующее:

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

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

— Конкретная реализация Map (например, HashMap) может бросить исключение, если попытаться добавить дублирующийся ключ.

Таким образом, поведение в такой ситуации зависит от конкретной реализации интерфейса Map, но в целом дублирующиеся ключи в Map запрещены.


Java Learning 👩‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7
⚙️ Collections.unmodifiableList()

В Java метод Collections.unmodifiableList() создаёт неизменяемый (immutable) список на основе существующего. Это удобно, когда нужно защитить коллекцию от изменений после её создания.

Java Learning 👩‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6
⚙️ Math.floorMod

Метод Math.floorMod в Java выполняет деление по модулю с учётом знаков, возвращая всегда положительный остаток. Это полезно при работе с круговыми индексами или в математике с отрицательными числами.

Java Learning 👩‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7
Она снова не ответила? Вот почему твои переписки умирают

— «Привет», «Как дела?», «Что делаешь?», «Почему молчишь?», «Сколько лет?» «Откуда ты?», «Где работаешь?» – серьёзно? 🤦

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

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

Что делать? Использовать проверенную стратегию переписки.
Например: вместо банального «спокойной ночи» — отправь любое сообщение из шаблонов в канале, и ты офигеешь от реакции. Она сама захочет писать первой.

Шаблоны и стратегию ты найдешь в канале Вани Абсента. Он помогает стать магнитом для женщин и построить яркие отношения, которые наполняют и зажигают: @absent

В канале ты найдёшь:

— пошаговый алгоритм, как влюбить девушку мечты – от первой переписки до секса;
— что делать на первом свидании, чтобы домой уехать с ней;
— как стать сильным уверенным мужчиной со счастливыми отношениями, сильным окружением и высоким доходом.

👉 Подписывайся — https://t.iss.one/+QujzheJCcYJlNTgy

И действуй, а не смотри, как девушки мечты проходят мимо.
⚙️ StringBuilder.append()

Метод append() класса StringBuilder позволяет эффективно добавлять строки к уже существующему объекту. В отличие от конкатенации строк с использованием оператора +, StringBuilder позволяет избежать создания новых объектов строк в процессе добавления.

Java Learning 👩‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
👍9
Совсем скоро в Level UP стартует программа «Курс Java-разработчик (Старт)» 👩‍💻 — ваш шанс с нуля освоить востребованную профессию и уверенно войти в IT в 2025 году.

📚 Обучение построено вокруг практики: Начнём с самых основ и далее будем постепенно углубляться в сам язык программирования Java и соответствующий стек технологий - рассмотрим основные понятия и концепции программирования, присущие любому объектно-ориентированному языку, познакомимся с основными алгоритмами и структурами данных, познакомимся с системами контроля версий, научимся работать с БД из Java, и, конечно, будем писать много-много кода.

Программа подойдет как тем, кто уже связан с IT (сисадмины, тестировщики, аналитики), так и новичкам, которые только делают первые шаги в разработке. Участники курса получат необходимые знания и навыки для старта в профессию Программист Java / Java-разработчик.

🎁 Используйте промокод September2025 и получите скидку 10% на обучение.

👉 Оставляйте заявку и присоединяйтесь к новой группе: https://clck.ru/3NzNZK

Реклама. ООО «Образовательные решения», ОГРН 1227800102386
Please open Telegram to view this post
VIEW IN TELEGRAM
⚙️ System.nanoTime()

Метод System.nanoTime() в Java используется для получения текущего времени с высокой точностью, измеряемого в наносекундах. Этот метод полезен для точного измерения времени выполнения операций, например, для профилирования производительности вашего кода.

Java Learning 👩‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3
Вопрос на собеседовании

Что такое ConcurrentHashMap в Java, как он работает и чем отличается от HashMap в многопоточной среде?

Ответ ⬇️
ConcurrentHashMap — это потокобезопасная версия HashMap, предназначенная для использования в многопоточной среде. В отличие от HashMap, который не является потокобезопасным и может приводить к состояниям гонки, ConcurrentHashMap позволяет нескольким потокам одновременно читать и изменять карту без блокировок всей коллекции. Он достигает этого за счёт сегментации и блокировок на уровне сегментов, а не всей структуры.

Пример использования ⚙️
import java.util.concurrent.ConcurrentHashMap;

public class Main {
public static void main(String[] args) {
ConcurrentHashMap<String, Integer> map = new ConcurrentHashMap<>();

map.put("Alice", 1);
map.put("Bob", 2);

map.computeIfPresent("Alice", (key, val) -> val + 1);

System.out.println(map); // {Alice=2, Bob=2}
}
}


Java Learning 👩‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3