Java Geek
Відкрити в Telegram
Практичные советы, лайфхаки и код для Java-разработчиков. Каждый пост — реальная польза. Учим Java на примерах. По всем вопросам @evgenycarter
Показати більше2 352
Підписники
-124 години
Немає даних7 днів
-1530 днів
Архів дописів
2 352
Объединение хеш-таблиц
Объединять два хеша, итерируя их значения вручную, весьма неэффективно. Вот альтернативное решение этой задачи, которое точно вам понравится.
@java_geek
2 352
Цикл foreach
JDK 1.5 представила новый цикл for, известный как цикл foreach или расширенный цикл for, который позволяет последовательно пройти весь массив без использования индекса переменной.
Следующий код отображает все элементы в массиве myList.
@java_geek
2 352
Захват координат курсора
Чтобы захватить события мыши, необходимо реализовать интерфейс MouseMotionListener. Когда курсор попадает в определенную область, срабатывает обработчик события mouseMoved, из которого можно получить точные координаты.
@java_geek
2 352
Методы start и end
Выше представлен пример, в котором производится подсчет количества раз, когда в строке ввода встречается слово "кот".
Как видим, в данном примере используются границы слов с целью удостоверения в том, что буквы "c" "a" "t" не являются частью другого слова. Также отображаются определенные полезные сведения касательно нахождения совпадения в вводимой строке.
Метод start производит возврат начального индекса в последовательности, захваченной в данной группе в ходе предыдущей операции поиска совпадений, а end производит возврат индекса к последнему совпавшему символу, плюс один.
@java_geek
2 352
Поиск позиции для вставки числового элемента в массив
Есть небольшой интересный прием, позволяющий найти позицию, в которую запрошенный элемент может быть вставлен в отсортированный массив.
@java_geek
2 352
Выполнение консольных команд
Java позволяет выполнять консольные команды прямо из кода, используя класс Runtime. Очень важно не забывать об обработке исключений.
Например, давайте попробуем открыть файл PDF через терминал Java (на Linux’e).
@java_geek
2 352
Меняем местами две переменные в одной строке
Многие знают, что в Python можно красиво поменять значения переменных в одну строку: a, b = b, a
Можно ли что-то похожее сделать в Java? Да. На картинке показан пример, но в реальных проектах так делать не стоит.
@java_geek
2 352
Отправка email
Отправить электронную почту на Java очень просто. Вам просто нужно установить Java Mail и указать путь к нему в пути к классам проекта.
@java_geek
2 352
Создание объектов только при необходимости
Создание объектов – одна из самых затратных операций в Java. Лучшая практика – создавать их только при необходимости, когда они действительно нужны.
@java_geek
2 352
Оптимизация строк
При конкатенации строк на Java с помощью оператора +, например, в цикле for, каждый раз создается новый объект String, что приводит к потере памяти и увеличению времени работы программы.
Также следует избегать создания Java строки с помощью конструктора класса.
@java_geek
2 352
Метод replace()
Заменяет символами подстроки данной строки буфера (StringBuffer) заданные символы в строке. Другими словами метод позволяет в Java заменить символы в строке между указанными начальным и конечным индексами.
Параметры:
start — начальный индекс, включительно;
end — конечный индекс, не включая;
str — строка, которая заменит предыдущее содержимое.
@java_geek
2 352
Содержимое директории
Java позволяет получить имена всех подкаталогов и файлов в папке в виде массива, который затем можно последовательно просмотреть.
@java_geek
2 352
Метод subSequence()
Возвращает новую последовательность символов, которая является подпоследовательностью этой последовательности, другими словами — возвращает последовательность символов из строки, начиная и заканчивая указанными индексами.
@java_geek
2 352
Метод insert()
Вставляет символы в данную строку буфера (StringBuffer). Подстрока добавляется перед указанным индексом.
@java_geek
2 352
Метод split()
Возвращает массив строк, вычисленных путем разделения данной строки вокруг данного регулярного выражения.
Параметры:
regex — разграничение регулярного выражения;
limit — порог, результатом которого означает, как много строк, должно быть возвращено.
@java_geek2 352
Метод valueOf()
Возвращает соответствующий числовой объект, содержащий значение переданного аргумента, простыми словами — преобразует в нужный тип данных. Аргумент можно преобразовать в
int, double, float и другие типы данных, например, можно преобразовать строку в число.
@java_geek2 352
Количество дней между датами
Иногда может понадобиться узнать количество дней, часов, минут и т.п. между датами. Рассмотрим один из способов нахождения дней между двумя датами выше в примере.
@java_geek
2 352
Количество дней между датами
Иногда может понадобиться узнать количество дней, часов, минут и т.п. между датами. Рассмотрим один из способов нахождения дней между двумя датами выше в примере.
@java_geek
2 352
Head First Java, 3rd Edition (2022) ePUB
Kathy Sierra, Bert Bates, Trisha Gee
Head First Java is a complete learning experience in Java and object-oriented programming. With this book, you'll learn the Java language with a unique method that goes beyond how-to manuals and helps you become a great programmer. Through puzzles, mysteries, and soul-searching interviews with famous Java objects, you'll quickly get up to speed on Java's fundamentals and advanced topics including lambdas, streams, generics, threading, networking, and the dreaded desktop GUI. If you have experience with another programming language, Head First Java will engage your brain with more modern approaches to coding--the sleeker, faster, and easier to read, write, and maintain Java of today.
@java_geek
