• String.repeat — Позволяет легко создавать повторяющиеся строки, полезно для текстового форматирования.
• List.of — Создает неизменяемый список, что улучшает безопасность и удобство работы с коллекциями.
🔥 — если узнал новое
🤝 — если уже пользовался
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥11🤝4👍3
•
Map.computeIfAbsent
— Упрощает добавление новых ключей в Map с вычисляемым значением по умолчанию.•
Collectors.groupingBy
— Позволяет группировать элементы коллекции по заданному критерию, упрощая работу с данными.🔥 — если узнал новое
🤝 — если уже пользовался
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥7🤝3👍2
•
replace
— замена всех вхождений символа в строке на другие. Подходит для простых операций замены без использования регулярных выражений.•
replaceAll
— замена всех вхождений, соответствующих регулярному выражению. Подходит для сложных операций замены, где требуется работать с шаблонами.Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥4👍2🤝2
remove()
— удаляет один конкретный элемент из коллекции. В зависимости от типа коллекции, он может принимать либо значение.clear()
— для полной очистки, он удаляет все элементы из коллекции, оставляя её пустой. Важно понимать, что коллекция остается существовать в памяти, но все её элементы удаляются.🔥 — если узнал новое
🤝 — если уже пользовался
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥12🤝10👍2
В Java он используется для случайного перемешивания элементов списка. Принимает список как аргумент и изменяет его порядок элементов на случайный. Но этот метод изменяет исходный список, а не создаёт новый.
В этом примере на картинке, создается список
list
с числами от 1 до 5. После вызова Collections.shuffle(list)
порядок элементов в списке будет изменён случайным образом. Результат будет отличаться при каждом запуске программы.🔥 — если узнал новое
🤝 — если уже пользовался
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥21🤝6
В Java каждый объект можно представить в виде строки. Для этого используются методы
toString
и valueOf
, которые определены в классе Object и могут быть в пользовательских классах. Их мы и рассмотрим:•
toString()
— используется для получения строкового представления объекта. Если его не переопределять, он вернет строку в формате Имя_класса@хеш_код
, что редко бывает полезным в реальной практике.•
valueOf()
— чаще всего используется для преобразования примитивных типов в строковое представление. Он определен в классе String
и позволяет легко конвертировать числа, логические значения и другие объекты в строку.🔥 — если узнал новое
🤝 — если уже пользовался
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🤝10🔥7👍5❤1
Когда хочется оптимизировать работу с
HashMap
, эти два метода становятся незаменимыми:•
computeIfAbsent
— добавляет значение только если ключ отсутствует, что идеально для создания списков или накопления данных по новым ключам без лишних проверок.•
merge
— с другой стороны, позволяет объединить старое значение с новым для существующего ключа, например, обновляя счётчики или суммируя значения.🔥 — если узнал новое
🤝 — если уже пользовался
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥12👍5
При работе со списками часто возникает задача найти определённый элемент - по значению или по какому-либо условию. В зависимости от ситуации можно использовать один из следующих подходов:
•
contains()
— быстрый способ проверить наличие конкретного объекта. Работает через equals()
, поэтому важно, чтобы он был переопределён. Подходит для простых проверок по точному совпадению.•
stream().filter().findFirst()
— гибкий способ найти элемент по любому условию. Удобен для поиска по полям или признакам. Возвращает Optional, что позволяет безопасно обработать результат.🔥 — если узнал новое
🤝 — если уже пользовался
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍14🔥8🤝7❤1
Иногда нужно понять, что происходит как работает твоя программа: сколько заняло выполнение, кто вызвал метод и т.д. Вот два практичных способа:
•
System.nanoTime()
— позволяет точно измерить время выполнения любого участка кода. Работает в наносекундах, идеально для профилирования и оптимизации тяжёлых операций.•
Thread.currentThread().getStackTrace()
— возвращает стек вызовов текущего потока. Полезно при логировании, отладке и отслеживании, как метод оказался вызван. Даёт полный маршрут исполнения кода.🔥 — если узнал новое
🤝 — если уже пользовался
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥19👍5🤝5
Рассмотрим то, как Java умеет запускать внешние команды и считывать их вывод:
•
ProcessBuilder.start()
— запускает внешнюю команду, как будто ты сам написал её в терминале. Можно управлять процессами и автоматизировать действия вне JVM.•
process.getInputStream()
— позволяет читать результат выполнения команды построчно. Это нужно, если ты хочешь встроить взаимодействие с ОС, например: получать IP, запускать скрипты или читать лог от внешнего сервиса.🔥 — если тема узнал новое
🤝 — если уже использовал
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥19👍5🤝4❤1
Иногда задача банальна: поменять местами два элемента в списке. Но есть как минимум два способа это сделать:
•
Collections.swap()
— самый быстрый и читаемый. Стандартная функция для перестановки элементов по индексам. Работает для любых списков.•
Ручной swap через set()
— под полным твоим контролем. Хочешь — можешь добавить логику, проверки и даже подсчёт операций.🔥 — если узнал что-то новое
🤝 — если уже использовал их
Please open Telegram to view this post
VIEW IN TELEGRAM
❤14🔥9👍4🤝2