В Java он используется для случайного перемешивания элементов списка. Принимает список как аргумент и изменяет его порядок элементов на случайный. Но этот метод изменяет исходный список, а не создаёт новый.
В этом примере на картинке, создается список
list
с числами от 1 до 5. После вызова Collections.shuffle(list)
порядок элементов в списке будет изменён случайным образом. Результат будет отличаться при каждом запуске программы.🔥 — если узнал новое
🤝 — если уже пользовался
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥23🤝7👍1
•
replace
— замена всех вхождений символа в строке на другие. Подходит для простых операций замены без использования регулярных выражений.•
replaceAll
— замена всех вхождений, соответствующих регулярному выражению. Подходит для сложных операций замены, где требуется работать с шаблонами.🔥 — если узнал новое
🤝 — если уже пользовался
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥38🤝14👍7
•
equals
— используется для сравнения двух строк на точное соответствие с учётом регистра символов, возвращая true, если строки полностью совпадают, и false в противном случае.•
equalsIgnoreCase
— выполняет аналогичное сравнение, но игнорирует регистр символов, возвращая true, если строки совпадают по содержанию, независимо от того, в каком регистре находятся символы.🔥 — если узнал новое
🤝 — если уже пользовался
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥51🤝32👍14
•
remove()
— удаляет один конкретный элемент из коллекции. В зависимости от типа коллекции, он может принимать либо значение.•
clear()
— для полной очистки, он удаляет все элементы из коллекции, оставляя её пустой. Важно понимать, что коллекция остается существовать в памяти, но все её элементы удаляются.🔥 — если узнал новое
🤝 — если уже пользовался
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥28🤝20
•
toString()
— преобразует объект в строку, вызывая toString() у объекта. Используется для представления объекта в строковом формате.•
valueOf()
— преобразует примитивные типы или объекты в строку. Может принимать как объекты, так и примитивы, включая null.🔥 — если узнал новое
🤝 — если уже пользовался
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🤝30🔥12👍1👎1
Когда хочется оптимизировать работу с HashMap, методы computeIfAbsent и merge становятся незаменимыми!
•
computeIfAbsent
— добавляет значение только если ключ отсутствует, что идеально для создания списков или накопления данных по новым ключам без лишних проверок.•
merge
— с другой стороны, позволяет объединить старое значение с новым для существующего ключа, например, обновляя счётчики или суммируя значения.🔥 — если узнал новое
🤝 — если уже пользовался
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥16🤝5👍4
•
equals
— используется для сравнения двух строк на точное соответствие с учётом регистра символов, возвращая true, если строки полностью совпадают, и false в противном случае.•
equalsIgnoreCase
— выполняет аналогичное сравнение, но игнорирует регистр символов, возвращая true, если строки совпадают по содержанию, независимо от того, в каком регистре находятся символы.🔥 — если узнал новое
🤝 — если уже пользовался
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🤝20🔥8
• ifPresent — Проверяет, существует ли значение внутри Optional, и выполняет действие, если оно присутствует.
• unmodifiableList — Создает обертку для списка, защищая его от изменений. Полезно для передачи данных, которые не должны изменяться другими частями программы.
🔥 — если узнал новое
🤝 — если уже пользовался
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥7👍4🤝2
• 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